[CalendarServer-changes] [264] CalDAVTester/trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Oct 10 10:08:45 PDT 2006


Revision: 264
          http://trac.macosforge.org/projects/calendarserver/changeset/264
Author:   cdaboo at apple.com
Date:     2006-10-10 10:08:43 -0700 (Tue, 10 Oct 2006)

Log Message:
-----------
Major file re-org. Initial commit of performance testing tool.

Modified Paths:
--------------
    CalDAVTester/trunk/src/account.py
    CalDAVTester/trunk/src/populate.py
    CalDAVTester/trunk/src/test.py
    CalDAVTester/trunk/src/testsuite.py
    CalDAVTester/trunk/testcaldav.py

Added Paths:
-----------
    CalDAVTester/trunk/performer.py
    CalDAVTester/trunk/scripts/
    CalDAVTester/trunk/scripts/performance/
    CalDAVTester/trunk/scripts/performance/perfinfo.dtd
    CalDAVTester/trunk/scripts/performance/perfinfo.xml
    CalDAVTester/trunk/scripts/server1/
    CalDAVTester/trunk/scripts/server1/serverinfo.dtd
    CalDAVTester/trunk/scripts/server1/serverinfo.xml
    CalDAVTester/trunk/scripts/server1/sslserverinfo.xml
    CalDAVTester/trunk/scripts/tests1/
    CalDAVTester/trunk/scripts/tests1/acl.xml
    CalDAVTester/trunk/scripts/tests1/acldisabled.xml
    CalDAVTester/trunk/scripts/tests1/aclreports.xml
    CalDAVTester/trunk/scripts/tests1/attachments.xml
    CalDAVTester/trunk/scripts/tests1/caldavIOP.xml
    CalDAVTester/trunk/scripts/tests1/copymove.xml
    CalDAVTester/trunk/scripts/tests1/delete.xml
    CalDAVTester/trunk/scripts/tests1/depthreports.xml
    CalDAVTester/trunk/scripts/tests1/depthreportsacl.xml
    CalDAVTester/trunk/scripts/tests1/encodedURIs.xml
    CalDAVTester/trunk/scripts/tests1/errors.xml
    CalDAVTester/trunk/scripts/tests1/floating.xml
    CalDAVTester/trunk/scripts/tests1/mkcalendar.xml
    CalDAVTester/trunk/scripts/tests1/populate.xml
    CalDAVTester/trunk/scripts/tests1/propfind.xml
    CalDAVTester/trunk/scripts/tests1/proppatch.xml
    CalDAVTester/trunk/scripts/tests1/put.xml
    CalDAVTester/trunk/scripts/tests1/quota.xml
    CalDAVTester/trunk/scripts/tests1/recurrenceput.xml
    CalDAVTester/trunk/scripts/tests1/reports.xml
    CalDAVTester/trunk/scripts/tests1/schedule.xml
    CalDAVTester/trunk/scripts/tests1/scheduleacl.xml
    CalDAVTester/trunk/scripts/tests1/scheduleauto.xml
    CalDAVTester/trunk/scripts/tests1/schedulenormal.xml
    CalDAVTester/trunk/scripts/tests1/schedulepost.xml
    CalDAVTester/trunk/scripts/tests1/schedulepostacl.xml
    CalDAVTester/trunk/scripts/tests1/schedulepostauto.xml
    CalDAVTester/trunk/scripts/tests1/schedulepostnormal.xml
    CalDAVTester/trunk/scripts/tests1/scheduleprops.xml
    CalDAVTester/trunk/src/
    CalDAVTester/trunk/src/caldavtest.py
    CalDAVTester/trunk/src/manager.py
    CalDAVTester/trunk/src/multithread.py
    CalDAVTester/trunk/src/perfinfo.py
    CalDAVTester/trunk/src/request.py
    CalDAVTester/trunk/src/serverinfo.py
    CalDAVTester/trunk/src/xmlDefs.py

Removed Paths:
-------------
    CalDAVTester/trunk/acl.xml
    CalDAVTester/trunk/acldisabled.xml
    CalDAVTester/trunk/aclreports.xml
    CalDAVTester/trunk/attachments.xml
    CalDAVTester/trunk/caldavIOP.xml
    CalDAVTester/trunk/caldavtest.dtd
    CalDAVTester/trunk/copymove.xml
    CalDAVTester/trunk/delete.xml
    CalDAVTester/trunk/depthreports.xml
    CalDAVTester/trunk/depthreportsacl.xml
    CalDAVTester/trunk/encodedURIs.xml
    CalDAVTester/trunk/errors.xml
    CalDAVTester/trunk/floating.xml
    CalDAVTester/trunk/mkcalendar.xml
    CalDAVTester/trunk/populate.xml
    CalDAVTester/trunk/propfind.xml
    CalDAVTester/trunk/proppatch.xml
    CalDAVTester/trunk/put.xml
    CalDAVTester/trunk/quota.xml
    CalDAVTester/trunk/recurrenceput.xml
    CalDAVTester/trunk/reports.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/src/caldavtest.py
    CalDAVTester/trunk/src/manager.py
    CalDAVTester/trunk/src/request.py
    CalDAVTester/trunk/src/serverinfo.py
    CalDAVTester/trunk/src/xmlDefs.py
    CalDAVTester/trunk/sslserverinfo.xml

Deleted: CalDAVTester/trunk/acl.xml
===================================================================
--- CalDAVTester/trunk/acl.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/acl.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,1009 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test ACLs on the server</description>
-
-	<start>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/delete/1.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/delete/2.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>1todo.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/todo/1.txt</filepath>
-			</data>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix2:/visibletouser01/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>ACL</method>
-			<ruri>$pathprefix2:/visibletouser01/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/acls/3.xml</filepath>
-			</data>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>PUT</method>
-			<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="$userid2:" pswd="$pswd2:">
-			<method>ACL</method>
-			<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="$userid2:" pswd="$pswd2:">
-			<method>PUT</method>
-			<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="$userid2:" pswd="$pswd2:">
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>ACL</method>
-			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/acls/4.xml</filepath>
-			</data>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>PUT</method>
-			<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="$userid2:" pswd="$pswd2:">
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix2:/writeabletouser01/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>ACL</method>
-			<ruri>$pathprefix2:/writeabletouser01/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/acls/13.xml</filepath>
-			</data>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix2:/calreadtoauth/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>ACL</method>
-			<ruri>$pathprefix2:/calreadtoauth/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/acls/18.xml</filepath>
-			</data>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>PUT</method>
-			<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="$userid2:" pswd="$pswd2:">
-			<method>MKCOL</method>
-			<ruri>$pathprefix2:/colreadtoauth/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>ACL</method>
-			<ruri>$pathprefix2:/colreadtoauth/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/acls/18.xml</filepath>
-			</data>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>PUT</method>
-			<ruri>$pathprefix2:/colreadtoauth/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/acls/16.ics</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='Read ACLs' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>PROPFIND existing VEVENT</description>
-			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>/calendars/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:getcontentlength</value>
-						<value>DAV:getcontenttype</value>
-						<value>DAV:resourcetype</value>
-						<value>DAV:getetag</value>
-						<value>DAV:displayname</value>
-						<value>DAV:supported-privilege-set</value>
-						<value>DAV:current-user-privilege-set</value>
-						<value>DAV:acl</value>
-						<value>DAV:acl-restrictions</value>
-						<value>DAV:inherited-acl-set</value>
-						<value>DAV:principal-collection-set</value>
-					</arg>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:owner</value>
-						<value>DAV:group</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PROPFIND without DAV:read-acl or DAV:read-current-user-privilege-set</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>/calendars/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:getcontentlength</value>
-						<value>DAV:getcontenttype</value>
-						<value>DAV:resourcetype</value>
-						<value>DAV:getetag</value>
-						<value>DAV:displayname</value>
-						<value>DAV:supported-privilege-set</value>
-						<value>DAV:acl-restrictions</value>
-						<value>DAV:inherited-acl-set</value>
-						<value>DAV:principal-collection-set</value>
-					</arg>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:current-user-privilege-set</value>
-						<value>DAV:acl</value>
-						<value>DAV:owner</value>
-						<value>DAV:group</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>Check for schedule privilege on iTIP Inbox</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>aclItems</callback>
-					<arg>
-						<name>granted</name>
-						<value>DAV:read</value>
-						<value>DAV:write</value>
-						<value>DAV:write-acl</value>
-						<value>DAV:read-current-user-privilege-set</value>
-						<value>urn:ietf:params:xml:ns:caldavschedule</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Check for schedule privilege on iTIP Outbox</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>aclItems</callback>
-					<arg>
-						<name>granted</name>
-						<value>DAV:read</value>
-						<value>DAV:write</value>
-						<value>DAV:write-acl</value>
-						<value>DAV:read-current-user-privilege-set</value>
-						<value>urn:ietf:params:xml:ns:caldavschedule</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Check for lack of schedule privilege on regular calendar</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>aclItems</callback>
-					<arg>
-						<name>granted</name>
-						<value>DAV:read</value>
-						<value>DAV:write</value>
-						<value>DAV:write-acl</value>
-						<value>DAV:read-current-user-privilege-set</value>
-					</arg>
-					<arg>
-						<name>denied</name>
-						<value>urn:ietf:params:xml:ns:caldavschedule</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='PROPFIND interaction with ACL' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>PROPFIND all calendars</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix2:/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix2:/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value/>
-						<value>visibletouser01/</value>
-						<value>writeabletouser01/</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PROPFIND: prinicpal-collection-set test</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/14.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:principal-collection-set$&lt;href>/principals/users/&lt;/href></value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='ACL method preconditions' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Failure when DAV:write-acl not granted</description>
-			<request print-response='no'>
-				<method>ACL</method>
-				<ruri>$pathprefix2:/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/4.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>DAV:no-ace-conflict precondition failure - attempt to set protected ACE</description>
-			<request print-response='no'>
-				<method>ACL</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/5.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:no-ace-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>DAV:no-ace-conflict precondition failure - attempt to set inherited ACE</description>
-			<request print-response='no'>
-				<method>ACL</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:no-ace-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>DAV:no-protected-ace-conflict precondition failure - attempt to change protected ACE</description>
-			<request print-response='no'>
-				<method>ACL</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/7.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:no-protected-ace-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<!-- This error is no longer generated by the server.
-		<test name='5' ignore='no'>
-			<description>DAV:no-inherited-ace-conflict precondition failure - attempt to change inherited ACE</description>
-			<request print-response='no'>
-				<method>ACL</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/8.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:no-inherited-ace-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		-->
-		<test name='6' ignore='no'>
-			<description>DAV:deny-before-grant precondition failure - attempt to deny before grant a set of ACEs</description>
-			<request print-response='no'>
-				<method>ACL</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/9.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:deny-before-grant</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>DAV:not-supported-privilege precondition failure - attempt to use unsupported privilege</description>
-			<request print-response='no'>
-				<method>ACL</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/10.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:not-supported-privilege</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>DAV:recognized-principal precondition failure - attempt to use unknown principal</description>
-			<request print-response='no'>
-				<method>ACL</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/11.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:recognized-principal</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>Valid command</description>
-			<request print-response='no'>
-				<method>ACL</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/12.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:recognized-principal</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='COPY/MOVE interaction with ACL' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>COPY to non-writeable shared calendar</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix2:/visibletouser01/copy1.ics</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>COPY to non-visible shared calendar</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix2:/notvisibletouser01/copy1.ics</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>COPY to non-visible shared calendar with overwrite</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix2:/notvisibletouser01/hidden1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>T</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>COPY to visible with no overwrite shared calendar</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix2:/writeabletouser01/1.ics</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>201</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>COPY to writeable shared calendar</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix2:/writeabletouser01/copy1.ics</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>MOVE to non-writeable shared calendar</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix2:/visibletouser01/move2.ics</value>
-				</header>
-				<ruri>2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>MOVE to non-visible shared calendar</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix2:/notvisibletouser01/move2.ics</value>
-				</header>
-				<ruri>2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>MOVE to non-visible shared calendar with overwrite</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix2:/notvisibletouser01/hidden1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>T</value>
-				</header>
-				<ruri>2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>MOVE to writeable shared calendar</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix2:/writeabletouser01/move2.ics</value>
-				</header>
-				<ruri>2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>201</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Principal Properties' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>PROPFIND principal VEVENT</description>
-			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$principal:</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/15.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:alternate-URI-set</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>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='Directory list access' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Get calendar home collection</description>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix2:/</ruri>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>inbox</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Get calendar collection</description>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix2:/visibletouser01/</ruri>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>VTODO</value>
-					</arg>
-					<arg>
-						<name>notcontains</name>
-						<value>VEVENT</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='ACL calendar collection inheritance' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Check that read is not set</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix2:/calreadtoauth/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Check that read is not inherited</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix2:/calreadtoauth/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>Set read on collection only</description>
-			<request user="$userid2:" pswd="$pswd2:">
-				<method>ACL</method>
-				<ruri>$pathprefix2:/calreadtoauth/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/19.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Check that read is set</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix2:/calreadtoauth/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>aclItems</callback>
-					<arg>
-						<name>granted</name>
-						<value>urn:ietf:params:xml:ns:caldavread-free-busy</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Check that read is inherited</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix2:/calreadtoauth/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>aclItems</callback>
-					<arg>
-						<name>granted</name>
-						<value>urn:ietf:params:xml:ns:caldavread-free-busy</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='ACL regular collection no inheritance' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Check that read is not set</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix2:/colreadtoauth/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Check that read is not inherited</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix2:/colreadtoauth/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>Set read on collection only</description>
-			<request user="$userid2:" pswd="$pswd2:">
-				<method>ACL</method>
-				<ruri>$pathprefix2:/colreadtoauth/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/19.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Check that read is set</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix2:/colreadtoauth/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>aclItems</callback>
-					<arg>
-						<name>granted</name>
-						<value>urn:ietf:params:xml:ns:caldavread-free-busy</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Check that read is inherited</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix2:/colreadtoauth/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acls/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETE</method>
-			<ruri>$pathprefix2:/visibletouser01/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETE</method>
-			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETE</method>
-			<ruri>$pathprefix2:/writeabletouser01/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETE</method>
-			<ruri>$pathprefix2:/calreadtoauth/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETE</method>
-			<ruri>$pathprefix2:/colreadtoauth/</ruri>
-		</request>
-	</end>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/acldisabled.xml
===================================================================
--- CalDAVTester/trunk/acldisabled.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/acldisabled.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,335 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test ACLs on the server</description>
-
-	<start>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/</ruri>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/collection/disabled/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/delete/1.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/acldisabled/1.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/collection/enabled/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/delete/1.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/acldisabled/1.xml</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<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>$pathprefix:/collection/disabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>GET on disabled ics, user02</description>
-			<request print-response='no' user='$userid2:' pswd="$pswd2:">
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>GET on disabled ics, admin</description>
-			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>GET on enabled ics, user01</description>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='PROPFIND OK' ignore='yes'>
-		<test name='1' ignore='no'>
-			<description>PROPFIND on collection, depth infinity</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acldisabled/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/collection/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value/>
-						<value>enabled/</value>
-						<value>enabled/1.ics</value>
-						<value>disabled/</value>
-						<value>disabled/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PROPFIND on disabled, depth infinity</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/collection/disabled/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acldisabled/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/collection/disabled/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value/>
-						<value>1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Disable Access' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Disable access</description>
-			<request>
-				<method>ACCESS-DISABLE</method>
-				<ruri>$pathprefix:/collection/disabled</ruri>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='Read Resource Forbidden' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>GET on ics, user01</description>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>GET on ics, user02</description>
-			<request print-response='no' user='$userid2:' pswd="$pswd2:">
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>GET on ics, admin</description>
-			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>GET on enabled ics, user01</description>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='PROPFIND FORBIDDEN' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>PROPFIND on collection, depth infinity</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acldisabled/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/collection/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value/>
-						<value>enabled/</value>
-						<value>enabled/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PROPFIND on disabled, depth infinity</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/collection/disabled/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/acldisabled/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Delete Resource Forbidden, then allowed' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>DELETE on ics, user01</description>
-			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Enable access</description>
-			<request>
-				<method>ACCESS-ENABLE</method>
-				<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>$pathprefix:/collection/disabled/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end>
-		<request>
-			<method>DELETE</method>
-			<ruri>$pathprefix:/collection/</ruri>
-		</request>
-	</end>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/aclreports.xml
===================================================================
--- CalDAVTester/trunk/aclreports.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/aclreports.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,635 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test ACLs on the server</description>
-
-	<start>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/delete/1.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PROPPATCH</method>
-			<ruri>1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/aclreports/10.xml</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/delete/2.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PROPPATCH</method>
-			<ruri>2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/aclreports/9.xml</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>1todo.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/todo/1.txt</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='acl-principal-prop-set REPORT' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Wrong Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Wrong Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>No DAV:prop</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Too many DAV:prop</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>No DAV:read-acl privilege</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix2:/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>Valid report</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>/principals/users/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>$userid1:</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$useradmin:</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='principal-match REPORT' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Wrong Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/4.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Wrong Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/4.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>Too many DAV:prop</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>500</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Valid self report with DAV:prop</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/4.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$userid1:</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Valid self report without DAV:prop</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/5.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>$userid1:</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>Valid principal-search report with DAV:prop</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/7.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>2.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>Valid principal-search report without DAV:prop</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/8.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>2.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>principal-search with inaccessible property</description>
-			<request print-response='no' user='$userid2:' pswd='$pswd2:'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/11.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='principal-property-search REPORT' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Wrong Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/12.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Wrong Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/12.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>Valid non-apply-to report with DAV:prop</description>
-			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
-				<method>REPORT</method>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/12.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>public01</value>
-						<value>resource01</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='$useradmin:' pswd='$pswdadmin:'>
-				<method>REPORT</method>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/13.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>public02</value>
-						<value>resource02</value>
-						<value>user02</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Valid apply-to report with DAV:prop</description>
-			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
-				<method>REPORT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/14.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>/principals/users/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>public01</value>
-						<value>resource01</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='$useradmin:' pswd='$pswdadmin:'>
-				<method>REPORT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/15.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>/principals/users/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>public02</value>
-						<value>resource02</value>
-						<value>user02</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='principal-search-property-set REPORT' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Wrong Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/16.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Wrong Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/16.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>Report on non-principal collection</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/16.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:supported-report</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Valid report</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/16.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/aclreports/18.xml</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='supported-report-set property' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Regular resource</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/17.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>207</value>
-					</arg>
-				</verify>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/aclreports/19.xml</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Regular resource</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>/principals/users/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/aclreports/17.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>207</value>
-					</arg>
-				</verify>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/aclreports/20.xml</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/attachments.xml
===================================================================
--- CalDAVTester/trunk/attachments.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/attachments.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,144 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test attachments with CalDAV</description>
-
-	<start/>
-	
-	<test-suite name='Inline'>
-		<test name='1' ignore='no'>
-			<description>VEVENT with image/jpeg</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/attachments/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>ATTACH;FMTTYPE=image/jpeg;ENCODING=BASE64;VALUE=BINARY:</value>
-					</arg>
-					<arg>
-						<name>contains</name>
-						<value>RQAUUUUAFFFFAH//2Q==</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>VTODO with image/jpeg</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/attachments/2.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>2.ics</ruri>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>ATTACH;FMTTYPE=image/jpeg;ENCODING=BASE64;VALUE=BINARY:</value>
-					</arg>
-					<arg>
-						<name>contains</name>
-						<value>RQAUUUUAFFFFAH//2Q==</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='External'>
-		<test name='1' ignore='no'>
-			<description>VEVENT with http://</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>3.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/attachments/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>3.ics</ruri>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>ATTACHMENT:http://www.example.com/test.jpg</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>VTODO with image/jpeg</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>4.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/attachments/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>4.ics</ruri>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>ATTACHMENT:http://www.example.com/test.jpg</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/caldavIOP.xml
===================================================================
--- CalDAVTester/trunk/caldavIOP.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/caldavIOP.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,275 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start/>
-	
-	<test-suite name='1. Event Creation'>
-		<test name='1.1'>
-			<description>Create new single-instance meeting titled "Meeting 1.1" with the location "Durham".</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>1-1_1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/1/1_1.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='1.2'>
-			<description>Create new meeting titled "Meeting 1.2" recurring every Monday from 10:00 AM to 11:00 AM for 4 weeks.</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>1-1_2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/1/1_2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='1.3'>
-			<description>Create new single-instance meeting titled "Meeting 1.3" with 2 other attendees.</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>1-1_3.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/1/1_3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='1.4'>
-			<description>Create new single-instance meeting titled "Meeting 1.4" with an alarm set to trigger 15 minutes prior to the schedule time of the meeting.</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>1-1_4.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/1/1_4.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='2. Event Modification'>
-		<test name='2.1'>
-			<description>Modify the title of meeting "Meeting 1.1" to "Meeting 1.1bis".</description>
-			<request>
-				<method>PUT</method>
-				<ruri>1-1_1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/2/2_1.txt</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2.2'>
-			<description>Modify the location of the meeting "Meeting 1.1bis" to "Seattle bis".</description>
-			<request>
-				<method>PUT</method>
-				<ruri>1-1_1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/2/2_2.txt</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2.3'>
-			<description>Reschedule meeting "Meeting 1.1bis" to the next day.</description>
-			<request>
-				<method>PUT</method>
-				<ruri>1-1_1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/2/2_3.txt</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2.4'>
-			<description>Add an attendee to "Meeting 1.1bis".</description>
-			<request>
-				<method>PUT</method>
-				<ruri>1-1_1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/2/2_4.txt</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2.5'>
-			<description>Add an alarm to "Meeting 1.1bis".</description>
-			<request>
-				<method>PUT</method>
-				<ruri>1-1_1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/2/2_5.txt</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2.6'>
-			<description>Modify the title of the 1st instance of the recurring meeting created in 1.2.</description>
-			<request>
-				<method>PUT</method>
-				<ruri>1-1_2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/2/2_6.txt</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2.7'>
-			<description>Modify the participation status of 1st instance to DECLINED.</description>
-			<request>
-				<method>PUT</method>
-				<ruri>1-1_3.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/2/2_7.txt</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2.8'>
-			<description>Cancel the 4th instance of the recurring meeting created in 1.2.</description>
-			<request>
-				<method>PUT</method>
-				<ruri>1-1_2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/2/2_8.txt</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2.9'>
-			<description>One client changes "Meeting 1.1bis" to a different time, second client 'refreshes' its display to see the modification.</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>2-2_9.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/2/2_9.txt</filepath>
-				</data>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='4. Event Deletion'>
-		<test name='4.1'>
-			<description>Delete a single non-recurring meeting.</description>
-			<request>
-				<method>PUT</method>
-				<ruri>4-4_1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/4/4_1.txt</filepath>
-				</data>
-			</request>
-			<request>
-				<method>DELETE</method>
-				<ruri>4-4_1.ics</ruri>
-			</request>
-		</test>
-		<test name='4.2'>
-			<description>Delete a single recurring meeting with no overridden instances.</description>
-			<request>
-				<method>PUT</method>
-				<ruri>4-4_2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/4/4_2.txt</filepath>
-				</data>
-			</request>
-			<request>
-				<method>DELETE</method>
-				<ruri>4-4_2.ics</ruri>
-			</request>
-		</test>
-		<test name='4.3'>
-			<description>Delete a single recurring meeting with overridden instances.</description>
-			<request>
-				<method>PUT</method>
-				<ruri>4-4_3.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/4/4_3.txt</filepath>
-				</data>
-			</request>
-			<request>
-				<method>DELETE</method>
-				<ruri>4-4_3.ics</ruri>
-			</request>
-		</test>
-		<test name='4.4'>
-			<description>Delete a non-overridden instance of a recurring meeting.</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>4-4_4.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/4/4_4a.txt</filepath>
-				</data>
-			</request>
-			<request>
-				<method>PUT</method>
-				<ruri>4-4_4.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/4/4_4b.txt</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='4.5'>
-			<description>Delete an overridden instance of a recurring meeting.</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>4-4_5.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/4/4_5a.txt</filepath>
-				</data>
-			</request>
-			<request>
-				<method>PUT</method>
-				<ruri>4-4_5.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/caldaviop/4/4_5b.txt</filepath>
-				</data>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/caldavtest.dtd
===================================================================
--- CalDAVTester/trunk/caldavtest.dtd	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/caldavtest.dtd	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,59 +0,0 @@
-<!--
- 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
- -->
-
-<!ELEMENT caldavtest (description?, start, test-suite*, end) >
-	<!ATTLIST caldavtest ignore-all (yes|no) "no">
-
-	<!ELEMENT description (#PCDATA)>
-
-	<!ELEMENT start (request*)>
-	<!ELEMENT end (request*)>
-
-	<!ELEMENT request (method, header*, ruri?, data?, verify*, grablocation?)>
-		<!ATTLIST request auth (yes|no) "yes"
-						 user CDATA ""
-						 pswd CDATA ""
-						 end-delete (yes|no) "no"
-						 print-response (yes|no) "no">
-		
-		<!ELEMENT method (#PCDATA)>
-		<!ELEMENT header (name, value)>
-			<!ELEMENT name (#PCDATA)>
-			<!ELEMENT value (#PCDATA)>
-		<!ELEMENT ruri (#PCDATA)>
-		<!ELEMENT data (content-type, filepath)>
-			<!ATTLIST data substitutions (yes|no) "no">
-			<!ELEMENT content-type (#PCDATA)>
-			<!ELEMENT filepath (#PCDATA)>
-
-		<!ELEMENT verify (callback, arg*)>
-			
-				<!ELEMENT callback (#PCDATA)>
-				<!ELEMENT arg (name, value+)>
-		
-		<!ELEMENT grablocation EMPTY>
-	
-	<!ELEMENT test-suite (test*)>
-		<!ATTLIST test-suite name CDATA #REQUIRED
-							ignore (yes|no) "no">
-	
-		<!ELEMENT test (description?, request+)>
-			<!ATTLIST test name CDATA #REQUIRED
-						  count CDATA "1"
-						  stats (yes|no) "no"
-						  ignore (yes|no) "no">

Deleted: CalDAVTester/trunk/copymove.xml
===================================================================
--- CalDAVTester/trunk/copymove.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/copymove.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,439 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test COPY/MOVE methods in CalDAV to ensure proper behaviour
-	of calendar resources wrt UIDs, server indexing etc</description>
-
-	<start>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/copymove/1.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/copymove/2.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/calendar2/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/calendar2/2_2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/copymove/2.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/copymove/3.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/calendar2/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/copymove/3.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>4.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/copymove/4.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/calendar2/4.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/copymove/4.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>5.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/copymove/5.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>6.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/copymove/6.txt</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='COPY'>
-		<test name='1' ignore='no'>
-			<description>COPY within same calendar to new resource</description>
-			<request print-response="no">
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-						<value>409</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>COPY within same calendar to existing resource with overwrite</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>T</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-						<value>409</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>COPY within same calendar to existing resource without overwrite</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>F</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<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 print-response="no">
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>201</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>COPY to different calendar, new resource, duplicate UID</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar2/copy2_2.ics</value>
-				</header>
-				<ruri>2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-						<value>409</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6'>
-			<description>COPY to different calendar, existing resource with overwrite</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>T</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>204</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7'>
-			<description>COPY to different calendar, existing resource with overwrite, duplicate UID</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>T</value>
-				</header>
-				<ruri>2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-						<value>409</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8'>
-			<description>COPY to different calendar, existing resource without overwrite</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>F</value>
-				</header>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>412</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9'>
-			<description>COPY to different calendar, existing resource without overwrite, duplicate UID</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>F</value>
-				</header>
-				<ruri>2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>412</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='MOVE' ignore='no'>
-		<test name='1'>
-			<description>MOVE within same calendar to new resource</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<ruri>5.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>2xx</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>MOVE within same calendar to existing resource with overwrite</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>T</value>
-				</header>
-				<ruri>6.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-						<value>409</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>MOVE within same calendar to existing resource without overwrite</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>F</value>
-				</header>
-				<ruri>3.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>412</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>MOVE to different calendar, new resource</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar2/move2_1.ics</value>
-				</header>
-				<ruri>move1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>2xx</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>MOVE to different calendar, existing resource with overwrite</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar2/3.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>T</value>
-				</header>
-				<ruri>3.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>2xx</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6'>
-			<description>MOVE to different calendar, existing resource without overwrite</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar2/4.ics</value>
-				</header>
-				<header>
-					<name>Overwrite</name>
-					<value>F</value>
-				</header>
-				<ruri>4.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>412</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end>
-		<request>
-			<method>DELETE</method>
-			<ruri>copy1.ics</ruri>
-		</request>
-		<request>
-			<method>DELETE</method>
-			<ruri>move1.ics</ruri>
-		</request>
-	</end>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/delete.xml
===================================================================
--- CalDAVTester/trunk/delete.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/delete.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,85 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test DELETE method in CalDAV to ensure proper behaviour
-	of server indexing</description>
-
-	<start>
-		<request end-delete="yes" print-response="yes">
-			<method>PUT</method>
-			<ruri>1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/delete/1.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>1todo.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/todo/1.txt</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='DELETE'>
-		<test name='1'>
-			<description>DELETE existing VEVENT</description>
-			<request>
-				<method>DELETE</method>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>DELETE existing VTODO</description>
-			<request>
-				<method>DELETE</method>
-				<ruri>1todo.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>DELETE non-existing resource</description>
-			<request>
-				<method>DELETE</method>
-				<ruri>2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/depthreports.xml
===================================================================
--- CalDAVTester/trunk/depthreports.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/depthreports.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,827 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start>
-		<request end-delete="yes">
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/top-collection/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/1.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/1.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/2.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/3.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/4.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/4.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/5.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/5.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/6.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/6.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/7.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/7.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/8.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/8.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/9.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/9.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/10.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/10.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/11.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/11.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/12.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/12.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/13.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/13.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/14.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/14.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar/15.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/15.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/1.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/2.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/16.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/16.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/top-collection/collection/</ruri>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/collection/calendar3/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/collection/calendar3/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/2.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/collection/calendar3/10.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/10.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/collection/calendar3/17.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/17.txt</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='multiget reports' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>multiget on calendar</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/calendar/</ruri>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/depth1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>multiget on collection</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/depth2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>calendar/1.ics</value>
-						<value>calendar/2.ics</value>
-						<value>calendar/3.ics</value>
-						<value>calendar/4.ics</value>
-						<value>calendar2/1.ics</value>
-						<value>calendar2/16.ics</value>
-						<value>collection/calendar3/2.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>multiget on calendar resource</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/calendar/1.ics</ruri>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/depth3.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/top-collection/calendar/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>2.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>multiget on non calendar resource</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/1.ics</ruri>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/depth4.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='basic query reports' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>query on calendar with no Depth</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>query on calendar with Depth 0</description>
-			<request>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>query on calendar with Depth 1</description>
-			<request>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>query on calendar with Depth infinity</description>
-			<request>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>query on collection with no Depth</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>query on collection with Depth 0</description>
-			<request>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>query on collection with Depth 1</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>calendar/1.ics</value>
-						<value>calendar/10.ics</value>
-						<value>calendar/11.ics</value>
-						<value>calendar/12.ics</value>
-						<value>calendar/13.ics</value>
-						<value>calendar/14.ics</value>
-						<value>calendar2/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>query on collection with Depth infinity</description>
-			<request>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>calendar/1.ics</value>
-						<value>calendar/10.ics</value>
-						<value>calendar/11.ics</value>
-						<value>calendar/12.ics</value>
-						<value>calendar/13.ics</value>
-						<value>calendar/14.ics</value>
-						<value>calendar2/1.ics</value>
-						<value>collection/calendar3/10.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>query on matching calendar resource with no Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/calendar/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/top-collection/calendar/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10' ignore='no'>
-			<description>query on non-matching calendar resource with no Depth</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/calendar/2.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='11' ignore='no'>
-			<description>query on non calendar resource with no Depth</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>4xx</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='free-busy reports' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>query for free busy on calendar with no Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060107T010000Z/20060107T020000Z</value>
-						<value>20060107T150000Z/20060107T163000Z</value>
-						<value>20060108T150000Z/20060108T180000Z</value>
-						<value>20060108T190000Z/20060108T193000Z</value>
-					</arg>
-					<arg>
-						<name>unavailable</name>
-						<value>20060108T130000Z/20060108T150000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060108T160000Z/20060108T170000Z</value>
-						<value>20060108T210000Z/20060108T213000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>query for free busy on calendar with Depth 0</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060107T010000Z/20060107T020000Z</value>
-						<value>20060107T150000Z/20060107T163000Z</value>
-						<value>20060108T150000Z/20060108T180000Z</value>
-						<value>20060108T190000Z/20060108T193000Z</value>
-					</arg>
-					<arg>
-						<name>unavailable</name>
-						<value>20060108T130000Z/20060108T150000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060108T160000Z/20060108T170000Z</value>
-						<value>20060108T210000Z/20060108T213000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>query for free busy on calendar with Depth 1</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060107T010000Z/20060107T020000Z</value>
-						<value>20060107T150000Z/20060107T163000Z</value>
-						<value>20060108T150000Z/20060108T180000Z</value>
-						<value>20060108T190000Z/20060108T193000Z</value>
-					</arg>
-					<arg>
-						<name>unavailable</name>
-						<value>20060108T130000Z/20060108T150000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060108T160000Z/20060108T170000Z</value>
-						<value>20060108T210000Z/20060108T213000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>query for free busy on calendar with Depth infinity</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060107T010000Z/20060107T020000Z</value>
-						<value>20060107T150000Z/20060107T163000Z</value>
-						<value>20060108T150000Z/20060108T180000Z</value>
-						<value>20060108T190000Z/20060108T193000Z</value>
-					</arg>
-					<arg>
-						<name>unavailable</name>
-						<value>20060108T130000Z/20060108T150000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060108T160000Z/20060108T170000Z</value>
-						<value>20060108T210000Z/20060108T213000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>query for free busy on collection with no Depth</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>query for free busy on collection with Depth 0</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>query for free busy on collection with Depth 1</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060107T010000Z/20060107T020000Z</value>
-						<value>20060107T150000Z/20060107T163000Z</value>
-						<value>20060108T150000Z/20060108T180000Z</value>
-						<value>20060108T190000Z/20060108T193000Z</value>
-						<value>20060108T200000Z/20060108T203000Z</value>
-					</arg>
-					<arg>
-						<name>unavailable</name>
-						<value>20060108T130000Z/20060108T170000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060108T160000Z/20060108T173000Z</value>
-						<value>20060108T210000Z/20060108T213000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>query for free busy on collection with Depth infinity</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060107T010000Z/20060107T020000Z</value>
-						<value>20060107T150000Z/20060107T163000Z</value>
-						<value>20060108T150000Z/20060108T180000Z</value>
-						<value>20060108T190000Z/20060108T193000Z</value>
-						<value>20060108T200000Z/20060108T210000Z</value>
-					</arg>
-					<arg>
-						<name>unavailable</name>
-						<value>20060108T130000Z/20060108T170000Z</value>
-						<value>20060108T173000Z/20060108T180000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060108T160000Z/20060108T173000Z</value>
-						<value>20060108T210000Z/20060108T220000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>query for free busy on resource</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/top-collection/calendar/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>4xx</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/depthreportsacl.xml
===================================================================
--- CalDAVTester/trunk/depthreportsacl.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/depthreportsacl.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,307 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start>
-		<request end-delete="yes">
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/top-collection/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<!--  Calendar with DAV:read only -->
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar1/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar1/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal1.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar1/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal2.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/2.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar1/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal3.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/3.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<!--  Calendar with no privileges -->
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal4.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal5.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal6.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/3.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<!--  Calendar with CALDAV:read-free-busy only -->
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar3/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar3/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal7.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar3/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal8.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/2.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar3/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal9.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/3.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='Reports' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>multiget on top collection</description>
-			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/depthreportsacl/4.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>calendar1/1.ics</value>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>calendar1/2.ics</value>
-						<value>calendar1/3.ics</value>
-						<value>calendar2/1.ics</value>
-						<value>calendar2/2.ics</value>
-						<value>calendar2/3.ics</value>
-						<value>calendar3/1.ics</value>
-						<value>calendar3/2.ics</value>
-						<value>calendar3/3.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>query on top collection</description>
-			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/depthreportsacl/5.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>calendar1/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>query for free busy on collection with Depth infinity</description>
-			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/top-collection/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/depthreportsacl/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060101T060000Z/20060101T070000Z</value>
-						<value>20060101T100000Z/20060101T110000Z</value>
-						<value>20060101T180000Z/20060101T190000Z</value>
-						<value>20060101T220000Z/20060101T230000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/encodedURIs.xml
===================================================================
--- CalDAVTester/trunk/encodedURIs.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/encodedURIs.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,278 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start>
-		<request end-delete='yes'>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection%201/</ruri>
-		</request>
-		<request end-delete='yes'>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/calendar%202/</ruri>
-		</request>
-		<request end-delete='yes'>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/calendar%203/</ruri>
-		</request>
-	</start>
-
-	<test-suite name='regular resource'>
-		<test name='1'>
-			<description>PUT</description>
-			<request print-response='no' end-delete='yes'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection%201/2%20a.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>!Location</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-
-		<test name='2'>
-			<description>COPY</description>
-			<request print-response='no' end-delete='yes'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/collection%201/2_2%20a.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection%201/2%20a.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$$host:$pathprefix:/collection%201/2_2%20a.ics</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<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>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value/>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>$pathprefix:/collection%201/2_2%20a.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>MOVE</description>
-			<request print-response='no' end-delete='yes'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/collection%201/2_3%20a.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection%201/2%20a.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$$host:$pathprefix:/collection%201/2_3%20a.ics</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<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>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value/>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>$pathprefix:/collection%201/2_2%20a.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='calendar resource'>
-		<test name='1'>
-			<description>PUT</description>
-			<request print-response='no' end-delete='yes'>
-				<method>PUT</method>
-				<ruri>2%20a.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>!Location</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>COPY</description>
-			<request print-response='no' end-delete='yes'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar%202/2_2%20a.ics</value>
-				</header>
-				<ruri>2%20a.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$$host:$pathprefix:/calendar%202/2_2%20a.ics</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<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>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value/>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>$pathprefix:/calendar%202/2_2%20a.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>MOVE</description>
-			<request print-response='no' end-delete='yes'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar%203/2_3%20a.ics</value>
-				</header>
-				<ruri>2%20a.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$$host:$pathprefix:/calendar%203/2_3%20a.ics</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<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>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value/>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>$pathprefix:/calendar%203/2_3%20a.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/errors.xml
===================================================================
--- CalDAVTester/trunk/errors.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/errors.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,1105 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Tests of various pre-/post-conditions</description>
-
-	<start>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/6.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/calendar2/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/calendar2/6.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/6.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/calendar2/7.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/7.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>$pathprefix:/1.xml</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/errors/1.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>$pathprefix:/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/2.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>$pathprefix:/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/3.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>$pathprefix:/4.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/4.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>$pathprefix:/5.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/5.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>$pathprefix:/6.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/6.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>$pathprefix:/7.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/7.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>$pathprefix:/8.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/8.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>$pathprefix:/9.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/errors/9.txt</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='PUT' ignore='no'>
-		<test name='1'>
-			<description>PUT non-calendar data</description>
-			<request>
-				<method>PUT</method>
-				<ruri>2.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>PUT invalid calendar data</description>
-			<request>
-				<method>PUT</method>
-				<ruri>2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/errors/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>PUT with multiple component types</description>
-			<request>
-				<method>PUT</method>
-				<ruri>2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/errors/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>PUT with METHOD property</description>
-			<request>
-				<method>PUT</method>
-				<ruri>2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/errors/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>PUT with different uids in same resource</description>
-			<request>
-				<method>PUT</method>
-				<ruri>2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/errors/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6'>
-			<description>PUT with duplicate uids</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/errors/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7'>
-			<description>PUT with different uid onto existing resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/errors/7.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8'>
-			<description>PUT with too many recurrence instances to new resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/errors/8.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9'>
-			<description>PUT with too many recurrence instances to existing resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/errors/9.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10'>
-			<description>PUT without timezone</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/errors/28.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='COPY' ignore='no'>
-		<test name='1'>
-			<description>COPY non-calendar data</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<ruri>$pathprefix:/1.xml</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>COPY invalid calendar data</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<ruri>$pathprefix:/2.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>COPY with multiple component types</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<ruri>$pathprefix:/3.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>COPY with METHOD property</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<ruri>$pathprefix:/4.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>COPY with different uids in same resource</description>
-			<request>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<ruri>$pathprefix:/5.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6'>
-			<description>COPY with duplicate uids</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<ruri>$pathprefix:/6.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7'>
-			<description>COPY from calendar with duplicate uids</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/copy1.ics</value>
-				</header>
-				<ruri>$pathprefix:/calendar2/6.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8'>
-			<description>COPY with different uid onto existing resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/7.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9'>
-			<description>COPY from calendar with different uid onto existing resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/calendar2/7.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10'>
-			<description>COPY with too many recurrence instances to new resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/2.ics</value>
-				</header>
-				<ruri>$pathprefix:/8.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='11'>
-			<description>COPY with too many recurrence instances to existing resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/9.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='MOVE' ignore='no'>
-		<test name='1'>
-			<description>MOVE non-calendar data</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<ruri>$pathprefix:/1.xml</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>MOVE invalid calendar data</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<ruri>$pathprefix:/2.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>MOVE with multiple component types</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<ruri>$pathprefix:/3.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>MOVE with METHOD property</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<ruri>$pathprefix:/4.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>MOVE with different uids in same resource</description>
-			<request>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<ruri>$pathprefix:/5.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6'>
-			<description>MOVE with duplicate uids</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<ruri>$pathprefix:/6.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7'>
-			<description>MOVE from calendar with duplicate uids</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/move1.ics</value>
-				</header>
-				<ruri>$pathprefix:/calendar2/6.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8'>
-			<description>MOVE with different uid onto existing resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/7.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9'>
-			<description>MOVE from calendar with different uid onto existing resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/calendar2/7.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10'>
-			<description>MOVE with too many recurrence instances to new resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/2.ics</value>
-				</header>
-				<ruri>$pathprefix:/8.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='11'>
-			<description>MOVE with too many recurrence instances to existing resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$host:$pathprefix:/calendar/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/9.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='REPORT/calendar-data' ignore='no'>
-		<test name='1'>
-			<description>query with invalid calendar-data content-type</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/10.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>query with invalid calendar-data version</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/11.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>multiget with invalid calendar-data content-type</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/12.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>multiget with invalid calendar-data version</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/13.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='REPORT/filter' ignore='no'>
-		<test name='1'>
-			<description>query with invalid filter</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/14.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>query with invalid filter</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/15.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>query with invalid filter</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/16.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>query with invalid filter</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/17.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>query with invalid filter</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/18.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6'>
-			<description>query with invalid filter</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/19.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7'>
-			<description>query with invalid filter</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/20.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8'>
-			<description>query with invalid filter</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/21.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9'>
-			<description>query with invalid filter</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/22.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10'>
-			<description>query with invalid time-range (dates)</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/29.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='11'>
-			<description>query with invalid time-range (floating)</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/30.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='12'>
-			<description>free-busy with invalid time-range (dates)</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/31.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='13'>
-			<description>free-busy with invalid time-range (floating)</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/32.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>400</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='REPORT/too big' ignore='no'>
-		<test name='1'>
-			<description>query with too many results</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/calendar.1000/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/23.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:number-of-matches-within-limits</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>multiget with too many results</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/calendar.1000/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/24.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:number-of-matches-within-limits</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>free-busy with too many results</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/calendar.1000/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/25.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:number-of-matches-within-limits</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Invalid CalDAV:timezone' ignore='no'>
-		<test name='1'>
-			<description>query with invalid timezone</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/26.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>proppatch with invalid timezone</description>
-			<request print-response='no'>
-				<method>PROPPATCH</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/errors/27.txt</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>badprops</name>
-						<value>urn:ietf:params:xml:ns:caldavcalendar-timezone</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/floating.xml
===================================================================
--- CalDAVTester/trunk/floating.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/floating.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,497 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test all-day/floating tests for timezone proeprty</description>
-
-	<start>
-		<request end-delete="yes">
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/floating/</ruri>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/floating/calendar-none/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-none/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/1.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-none/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/2.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-none/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/3.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-none/4.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/4.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-none/5.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/5.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-none/6.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/6.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-none/7.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/7.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/floating/calendar-us/</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/8.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-us/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/1.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-us/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/2.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-us/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/3.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-us/4.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/4.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-us/5.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/5.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-us/6.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/6.txt</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/floating/calendar-us/7.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/floating/put/7.txt</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='REPORT floating behaviour - calendar without timezone'>
-		<test name='1' ignore='no'>
-			<description>REPORT on non-recurring timed/floating events: US/Eastern</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/floating/calendar-none/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/floating/calendar-none/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>3.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>REPORT on non-recurring timed/floating events: US/Pacific</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/floating/calendar-none/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/floating/calendar-none/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>3.ics</value>
-						<value>6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>REPORT on non-recurring timed/floating events: US/Pacific</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/floating/calendar-none/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/floating/calendar-none/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>3.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='REPORT floating behaviour - calendar with timezone'>
-		<test name='1' ignore='no'>
-			<description>REPORT on non-recurring timed/floating events: no timezone</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/floating/calendar-us/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/floating/calendar-us/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>3.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>REPORT on non-recurring timed/floating events: US/Eastern</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/floating/calendar-us/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/floating/calendar-us/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>3.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>REPORT on non-recurring timed/floating events: US/Pacific</description>
-			<request>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/floating/calendar-us/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/floating/calendar-us/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>3.ics</value>
-						<value>6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='REPORT floating behaviour - collection'>
-		<test name='1' ignore='no'>
-			<description>REPORT on non-recurring timed/floating events: no timezone</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix:/floating/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/floating/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>calendar-none/1.ics</value>
-						<value>calendar-none/3.ics</value>
-						<value>calendar-none/5.ics</value>
-						<value>calendar-none/6.ics</value>
-						<value>calendar-us/1.ics</value>
-						<value>calendar-us/3.ics</value>
-						<value>calendar-us/5.ics</value>
-						<value>calendar-us/6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>REPORT on non-recurring timed/floating events: US/Eastern</description>
-			<request>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix:/floating/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/floating/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>calendar-none/1.ics</value>
-						<value>calendar-none/3.ics</value>
-						<value>calendar-none/5.ics</value>
-						<value>calendar-none/6.ics</value>
-						<value>calendar-us/1.ics</value>
-						<value>calendar-us/3.ics</value>
-						<value>calendar-us/5.ics</value>
-						<value>calendar-us/6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>REPORT on non-recurring timed/floating events: US/Pacific</description>
-			<request>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix:/floating/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value>$pathprefix:/floating/</value>
-					</arg>
-					<arg>
-						<name>okhrefs</name>
-						<value>calendar-none/1.ics</value>
-						<value>calendar-none/3.ics</value>
-						<value>calendar-none/6.ics</value>
-						<value>calendar-us/1.ics</value>
-						<value>calendar-us/3.ics</value>
-						<value>calendar-us/6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='REPORT free-busy floating behaviour'>
-		<test name='1' ignore='no'>
-			<description>free-busy on collection without timezone</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix:/floating/calendar-none/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060101T000000Z/20060101T020000Z</value>
-						<value>20060101T050000Z/20060101T060000Z</value>
-						<value>20060101T080000Z/20060101T090000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060101T000000Z/20060102T000000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>free-busy on collection with timezone</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/floating/calendar-us/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060101T000000Z/20060101T010000Z</value>
-						<value>20060101T050000Z/20060101T070000Z</value>
-						<value>20060101T080000Z/20060101T090000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060101T050000Z/20060102T000000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>free-busy on multiple collections with/without timezone</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix:/floating/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/floating/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060101T000000Z/20060101T020000Z</value>
-						<value>20060101T050000Z/20060101T070000Z</value>
-						<value>20060101T080000Z/20060101T090000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060101T000000Z/20060102T000000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/mkcalendar.xml
===================================================================
--- CalDAVTester/trunk/mkcalendar.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/mkcalendar.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,175 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start/>
-	
-	<test-suite name='MKCALENDAR without body'>
-		<test name='1'>
-			<description>Simple MKCALENDAR</description>
-			<request end-delete='yes'>
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix:/caltest1/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>201</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>MKCALENDAR on existing resource</description>
-			<request>
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix:/caltest1/</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:resource-must-be-null</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>MKCALENDAR inside another calendar</description>
-			<request>
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix:/caltest1/caltest2/</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavcalendar-collection-location-ok</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>MKCOL inside a calendar</description>
-			<request>
-				<method>MKCOL</method>
-				<ruri>$pathprefix:/caltest1/collection/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>403</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='MKCALENDAR with body'>
-		<test name='1'>
-			<description>MKCALENDAR with correct request body</description>
-			<request end-delete='yes'>
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix:/caltest2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/mkcalendar/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>201</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>MKCALENDAR with correct request body on existing resource</description>
-			<request>
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix:/caltest2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/mkcalendar/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:resource-must-be-null</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>MKCALENDAR with incorrect request body</description>
-			<request end-delete='yes' print-response='no'>
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix:/caltest3/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/mkcalendar/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:getetag</value>
-						<value>DAV:displayname</value>
-						<value>urn:ietf:params:xml:ns:caldavcalendar-description</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/caltest3/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>MKCALENDAR with incorrect request body on existing resource</description>
-			<request>
-				<method>MKCALENDAR</method>
-				<ruri>$pathprefix:/caltest2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/mkcalendar/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:resource-must-be-null</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-
-</caldavtest>

Added: CalDAVTester/trunk/performer.py
===================================================================
--- CalDAVTester/trunk/performer.py	                        (rev 0)
+++ CalDAVTester/trunk/performer.py	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,156 @@
+#!/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
+##
+#
+# Runs a series of test suites inb parallel using a thread pool
+#
+import sys
+
+from random import randrange
+from threading import Timer
+import math
+import time
+import xml.dom.minidom
+import src.xmlDefs
+
+from src.manager import manager
+from src.perfinfo import perfinfo
+
+EX_INVALID_CONFIG_FILE = "Invalid Config File"
+
+if __name__ == "__main__":
+    
+    def readXML():
+
+        perfinfoname = "scripts/performance/perfinfo.xml"
+        if len(sys.argv) > 1:
+            perfinfoname = sys.argv[1]
+            
+        # Open and parse the server config file
+        fd = open(perfinfoname, "r")
+        doc = xml.dom.minidom.parse( fd )
+        fd.close()
+
+        # Verify that top-level element is correct
+        perfinfo_node = doc._get_documentElement()
+        if perfinfo_node._get_localName() != src.xmlDefs.ELEMENT_PERFINFO:
+            raise EX_INVALID_CONFIG_FILE
+        if not perfinfo_node.hasChildNodes():
+            raise EX_INVALID_CONFIG_FILE
+        pinfo = perfinfo()
+        pinfo.parseXML(perfinfo_node)
+        return pinfo
+    
+    def subs(str, i):
+        if "%" in str:
+            return str % i
+        else:
+            return str
+
+    pinfo = readXML()
+
+    # Cummulative results
+    allresults = []
+    
+    for test in pinfo.tests:
+        result = [0.0, 0.0, 0.0]
+        print "|",
+        for loop in range(test[1]):
+            print ".",
+            results = []
+        
+            def runner(*args):
+                """
+                Test runner method. 
+                @param *args:
+                """
+                
+                if pinfo.logging:
+                    print "Start: %s" % (args[0]["moresubs"]["$userid1:"],)
+                try:
+                    mgr = manager(level=manager.LOG_NONE)
+                    result, timing = mgr.runWithOptions(*args[1:], **args[0])
+                    results.append(timing)
+                    if pinfo.logging:
+                        print "Done: %s" % (args[0]["moresubs"]["$userid1:"],)
+                except Exception, e:
+                    print "Thread run exception: %s" % (str(e),)
+        
+            # Create argument list that varies for each threaded client. Basically use a separate
+            # server account for each client.
+            args = []
+            for i in range(1, pinfo.clients + 1):
+                moresubs = {}
+                for key, value in pinfo.subsdict.iteritems():
+                    moresubs[key] = subs(value, i)
+                args.append(({"moresubs": moresubs}, subs(pinfo.serverinfo, i), "", [subs(pinfo.testinfo, i)]))
+        
+            if pinfo.threads:
+                # Run threads by queuing up a set of timers set to start 5 seconds + random time
+                # after thread is actually started. The random time is spread over the interval
+                # we are testing over. Wait for all threads to finish.
+                timers = []
+                for arg in args:
+                    sleeper = 5.0 + randrange(0, 100)/100.0 * test[0]
+                    timers.append(Timer(sleeper, runner, arg))
+            
+                startTime = time.time() + 5.0
+                for thread in timers:
+                    thread.start( )
+            
+                for thread in timers:
+                    thread.join(None)
+            else:
+                # Just execute each client request one after the other.
+                startTime = time.time()
+                for arg in args:
+                    runner(*arg)
+    
+            # Determine timing stats for this run
+            diffTime = time.time() - startTime
+
+            average = 0.0
+            for i in results:
+                average += i
+                if pinfo.logging:
+                    print i
+            average /= len(results)
+            
+            stddev = 0.0
+            for i in results:
+                stddev += (i - average) ** 2
+            stddev /= len(results)
+            stddev = math.sqrt(stddev)
+            
+            result[0] += average
+            result[1] += stddev
+            result[2] += diffTime
+        
+        # Average results from runs.
+        result[0] /= test[1]
+        result[1] /= test[1]
+        result[2] /= test[1]
+        
+        allresults.append(result)
+    
+    # Print out averaged results.
+    print "\n\nSpread\tReqs/sec\tAverage\t\tStd. Dev.\tTotal"
+    print "==============================================================="
+    for i in range(len(pinfo.tests)):
+        print "%.0f\t%.3f\t\t%.3f\t\t%.3f\t\t%.3f" % (pinfo.tests[i][0], pinfo.clients/pinfo.tests[i][0], allresults[i][0], allresults[i][1], allresults[i][2],)

Deleted: CalDAVTester/trunk/populate.xml
===================================================================
--- CalDAVTester/trunk/populate.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/populate.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,48 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<populate>
-	<description>Populate a TwistedCalDAV server with user accounts.</description>
-	<path>/Users/</path>
-	
-	<account count='1'>
-		<name>User-1.10</name>
-		<calendars>
-			<name>calendar</name>
-			<datasource count='1' mode='all'>Resource/Populate/</datasource>
-		</calendars>
-	</account>
-	<account count='1'>
-		<name>User-1.100</name>
-		<calendars>
-			<name>calendar</name>
-			<datasource count='10' mode='all'>Resource/Populate/</datasource>
-		</calendars>
-	</account>
-	<account count='1'>
-		<name>User-1.1000</name>
-		<calendars>
-			<name>calendar</name>
-			<datasource count='100' mode='all'>Resource/Populate/</datasource>
-		</calendars>
-	</account>
-</populate>

Deleted: CalDAVTester/trunk/propfind.xml
===================================================================
--- CalDAVTester/trunk/propfind.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/propfind.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,273 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start/>
-	
-	<test-suite name='regular prop finds'>
-		<test name='1'>
-			<description>PROPFIND of basic properties depth=0</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>PROPFIND of basic properties depth=1</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>PROPFIND of basic properties depth=infinity</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>PROPFIND getcontentlength=0</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/7.txt</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:getcontentlength$</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='prop names'>
-		<test name='1'>
-			<description>PROPFIND of property names depth=0</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>PROPFIND of property names depth=1</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>PROPFIND of property names depth=infinity</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='prop all'>
-		<test name='1'>
-			<description>PROPFIND of all properties depth=0</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>PROPFIND of all properties depth=1</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>PROPFIND of all properties depth=infinity</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='prop errors'>
-		<test name='1'>
-			<description>PROPFIND with invalid elements</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>4xx</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>PROPFIND of unknown element</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>4xx</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>PROPFIND with one unknown property</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/propfinds/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/proppatch.xml
===================================================================
--- CalDAVTester/trunk/proppatch.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/proppatch.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,165 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start/>
-	
-	<test-suite name='prop patches'>
-		<test name='1' ignore="no">
-			<description>PROPPATCH of details: good</description>
-			<request print-response='no'>
-				<method>PROPPATCH</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/proppatches/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:details</value>
-						<value>DAV:details2</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/proppatches/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:details$My Name</value>
-						<value>DAV:details2$My Name 2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore="no">
-			<description>PROPPATCH of details: remove it</description>
-			<request print-response='no'>
-				<method>PROPPATCH</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/proppatches/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:details</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/proppatches/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:details2$My Name 2</value>
-					</arg>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:details</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>PROPPATCH remove non-existant</description>
-			<request print-response='no'>
-				<method>PROPPATCH</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/proppatches/4.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:missing</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>PROPPATCH of resourcetype: fails</description>
-			<request print-response='no'>
-				<method>PROPPATCH</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/proppatches/5.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:details</value>
-						<value>DAV:details2</value>
-						<value>DAV:resourcetype</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/proppatches/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:details2$My Name 2</value>
-					</arg>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:details</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/put.xml
===================================================================
--- CalDAVTester/trunk/put.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/put.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,500 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test PUT method in CalDAV</description>
-
-	<start/>
-	
-	<test-suite name='PUT VEVENT'>
-		<test name='1' ignore='no'>
-			<description>PUT non-recurring timed event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>1.ics</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/recurrenceput/1.txt</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PUT not in calendar collection</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>$pathprefix:/1.ics</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/recurrenceput/1.txt</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Put VTODO' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Plain VTODO with no date</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>1todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>1todo.ics</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/todo/1.txt</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Plain VTODO with DUE only</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>2todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>2todo.ics</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/todo/2.txt</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>Plain VTODO with DTSTART/DUARTION only</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>3todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>3todo.ics</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/todo/3.txt</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Plain VTODO with DTSTART only</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>4todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>GET</method>
-				<ruri>4todo.ics</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/todo/4.txt</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='Problem VEVENTs - EXDATE &amp; various combinations of date-time/date values'>
-		<test name='1' ignore='no'>
-			<description>PUT problem event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>3.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>DTSTART/DATE-TIME/UTC, DTEND/DATE</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>4.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/2.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>DTSTART/DATE-TIME/TZID, DTEND/DATE</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>18.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/16.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>DTSTART/DATE-TIME/Float, DTEND/DATE</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>19.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/17.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>DTSTART/DATE-TIME/UTC, DTEND/DATE-TIME/TZID</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>5.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>DTSTART/DATE-TIME/UTC, DTEND/DATE-TIME/Float</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>6.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>DTSTART/DATE-TIME/TZID, DTEND/DATE-TIME/UTC</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>7.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/5.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>DTSTART/DATE-TIME/TZID, DTEND/DATE-TIME/Float</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>8.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/6.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>DTSTART/DATE-TIME/Float, DTEND/DATE-TIME/UTC</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>9.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/7.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='10' ignore='no'>
-			<description>DTSTART/DATE-TIME/Float, DTEND/DATE-TIME/TZID</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>10.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/8.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='Problem VTODOs - various combinations of date-time/date values'>
-		<test name='1' ignore='no'>
-			<description>DTSTART/DATE-TIME/UTC, DUE/DATE</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>11.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/9.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>DTSTART/DATE-TIME/TZID, DUE/DATE</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>20.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/18.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>DTSTART/DATE-TIME/Float, DUE/DATE</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>21.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/19.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>DTSTART/DATE, DUE/DATE-TIME/UTC</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>22.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/20.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>DTSTART/DATE, DUE/DATE-TIME/TZID</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>23.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/21.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>DTSTART/DATE, DUE/DATE-TIME/Float</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>24.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/22.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>DTSTART/DATE-TIME/UTC, DUE/DATE-TIME/TZID</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>12.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/10.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>DTSTART/DATE-TIME/UTC, DUE/DATE-TIME/Float</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>13.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/11.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>DTSTART/DATE-TIME/TZID, DUE/DATE-TIME/UTC</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>14.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/12.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='10' ignore='no'>
-			<description>DTSTART/DATE-TIME/TZID, DUE/DATE-TIME/Float</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>15.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/13.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='11' ignore='no'>
-			<description>DTSTART/DATE-TIME/Float, DUE/DATE-TIME/UTC</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>16.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/14.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='12' ignore='no'>
-			<description>DTSTART/DATE-TIME/Float, DUE/DATE-TIME/TZID</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>17.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/problemics/15.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/quota.xml
===================================================================
--- CalDAVTester/trunk/quota.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/quota.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,2974 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest ignore-all="yes">
-	<description>Test Quota support on the server</description>
-
-	<start>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/</ruri>
-		</request>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/temp/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/temp/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/1.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/temp/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/2.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/temp/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/3.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/temp/4.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/4.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/temp/5.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/5.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/temp/6.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/6.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/noquotacol/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/1.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/quotacol/</ruri>
-		</request>
-		<request>
-			<method>QUOTA-ENABLE-2048</method>
-			<ruri>$pathprefix:/collection/quotacol/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/1.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/quotacol/temp/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/quotacol/temp/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/1.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/quotacol/temp/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/2.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/largequotacol/</ruri>
-		</request>
-		<request>
-			<method>QUOTA-ENABLE-1048576</method><!-- 1Mb -->
-			<ruri>$pathprefix:/collection/largequotacol/</ruri>
-		</request>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/parentquotacol/</ruri>
-		</request>
-		<request>
-			<method>QUOTA-ENABLE-4096</method><!-- 4Kb -->
-			<ruri>$pathprefix:/collection/parentquotacol/</ruri>
-		</request>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
-		</request>
-		<request>
-			<method>QUOTA-ENABLE-2048</method><!-- 2Kb -->
-			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
-		</request>
-		<request>
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
-		</request>
-		<request>
-			<method>QUOTA-ENABLE-1048576</method><!-- 1Mb -->
-			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/collection/noquotacal/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/1.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/collection/quotacal/</ruri>
-		</request>
-		<request>
-			<method>QUOTA-ENABLE-2048</method>
-			<ruri>$pathprefix:/collection/quotacal/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/1.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/collection/largequotacal/</ruri>
-		</request>
-		<request>
-			<method>QUOTA-ENABLE-1048576</method><!-- 1Mb -->
-			<ruri>$pathprefix:/collection/largequotacal/</ruri>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/calendar/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/quota/2.ics</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='Properties on collections' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>allprop on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>allprop on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>propname on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>propname on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>props on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-					</arg>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:quota-available-bytes</value>
-						<value>DAV:quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>props on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$118</value>
-						<value>DAV:quota-used-bytes$1930</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Properties on resources' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>allprop on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>allprop on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>propname on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>propname on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>props on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-					</arg>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:quota-available-bytes</value>
-						<value>DAV:quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>props on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$118</value>
-						<value>DAV:quota-used-bytes$1930</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Properties on calendars' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>allprop on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>allprop on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>propname on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>propname on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>props on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-					</arg>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:quota-available-bytes</value>
-						<value>DAV:quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>props on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1413</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Properties on calendar resources' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>allprop on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>allprop on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>propname on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>notcontains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>propname on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>quota-available-bytes</value>
-						<value>quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>props on non-quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-					</arg>
-					<arg>
-						<name>badprops</name>
-						<value>DAV:quota-available-bytes</value>
-						<value>DAV:quota-used-bytes</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>props on quota collection</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1413</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='PUT Over quota on collection' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>over quota on quota collection with new resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/quotacol/2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>over quota on quota collection with existing resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>event_1</value>
-					</arg>
-					<arg>
-						<name>notcontains</name>
-						<value>more</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>over quota on quota sub-collection with new resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/quotacol/temp/3.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/temp/3.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>over quota on quota sub-collection with existing resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/quotacol/temp/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/temp/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>event_1</value>
-					</arg>
-					<arg>
-						<name>notcontains</name>
-						<value>more</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='PUT Over quota on calendar' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>over quota on quota calendar with new resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/quotacal/4.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacal/4.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>over quota on quota calendar with existing resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/6.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>event_1</value>
-					</arg>
-					<arg>
-						<name>notcontains</name>
-						<value>more</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='COPY resource over quota' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>over quota on quota collection with new resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/quotacol/2.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>over quota on quota collection with existing resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/quotacol/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>event_1</value>
-					</arg>
-					<arg>
-						<name>notcontains</name>
-						<value>more</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>over quota on quota collection copying collection</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/quotacol/test/</value>
-				</header>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/test/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='COPY calendar resource over quota' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>over quota on quota calendar with new resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/quotacal/4.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/4.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/4.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/temp/4.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1413</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>over quota on quota calendar with existing resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/quotacal/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/6.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>event_1</value>
-					</arg>
-					<arg>
-						<name>notcontains</name>
-						<value>more</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/temp/6.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1413</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>not allowed on quota calendar copying collection</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/quotacal/test/</value>
-				</header>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>405</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacal/test/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/quotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1413</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='COPY collection over quota' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>over quota on quota collection with new collection</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/quotacol/test/</value>
-				</header>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/test/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>over quota on quota collection with existing collection</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/quotacol/temp/</value>
-				</header>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/temp/3.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>over quota on quota collection copying collection</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/quotacol/temp/test/</value>
-				</header>
-				<header>
-					<name>Depth</name>
-					<value>infinity</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/quotacol/temp/test/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='PUT/DELETE/COPY/MOVE of resource with quota update' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Initial quota values</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PUT new resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047941</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>PUT existing resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047490</value>
-						<value>DAV:quota-used-bytes$1086</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>DELETE existing resource</description>
-			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>COPY new resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacol/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047941</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>COPY existing resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacol/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047490</value>
-						<value>DAV:quota-used-bytes$1086</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>DELETE existing resource</description>
-			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>MOVE new resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacol/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047941</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>MOVE existing resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacol/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047490</value>
-						<value>DAV:quota-used-bytes$1086</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10' ignore='no'>
-			<description>DELETE existing resource</description>
-			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='PUT/DELETE/COPY/MOVE of calendar resource with quota update' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Initial quota values</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-			<!-- Make sure we have the source collection files in place -->
-			<request>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.ics</filepath>
-				</data>
-			</request>
-			<request>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.ics</filepath>
-				</data>
-			</request>
-			<request>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.ics</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PUT new resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047941</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>PUT existing resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047490</value>
-						<value>DAV:quota-used-bytes$1086</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>DELETE existing resource</description>
-			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>COPY new resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacal/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047941</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>COPY existing resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacal/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047490</value>
-						<value>DAV:quota-used-bytes$1086</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>DELETE existing resource</description>
-			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>MOVE new resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacal/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047941</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>MOVE existing resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacal/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1047490</value>
-						<value>DAV:quota-used-bytes$1086</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10' ignore='no'>
-			<description>DELETE existing resource</description>
-			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacal/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='COPY/MOVE/DELETE of collection with quota update' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Initial quota values</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-			<!-- Make sure we have the source collection files in place -->
-			<request>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.ics</filepath>
-				</data>
-			</request>
-			<request>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.ics</filepath>
-				</data>
-			</request>
-			<request>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.ics</filepath>
-				</data>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>COPY new collection</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacol/test/</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1033552</value>
-						<value>DAV:quota-used-bytes$15024</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>DELETE existing collection</description>
-			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$pathprefix:/collection/largequotacol/test/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>MOVE new collection</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/collection/largequotacol/test/</value>
-				</header>
-				<ruri>$pathprefix:/collection/temp/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1033552</value>
-						<value>DAV:quota-used-bytes$15024</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>DELETE existing resource</description>
-			<request print-response='no'>
-				<method>DELETE</method>
-				<ruri>$pathprefix:/collection/largequotacol/test/</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/largequotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='PUT with nested over quota' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Initial quota values</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$4096</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$2048</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PUT small resource below nested and below parent quota</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$3461</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1413</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>PUT smallish resource above nested but below parent quota</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/4.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>507</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/4.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$3461</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1413</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1048576</value>
-						<value>DAV:quota-used-bytes$0</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>PUT smallish resource below nested (2) and below parent quota</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/4.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$426</value>
-						<value>DAV:quota-used-bytes$3670</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1413</value>
-						<value>DAV:quota-used-bytes$635</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1045541</value>
-						<value>DAV:quota-used-bytes$3035</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>PUT small resource below nested but above parent quota</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/2.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$0</value>
-						<value>DAV:quota-used-bytes$4330</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$753</value>
-						<value>DAV:quota-used-bytes$1295</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1045541</value>
-						<value>DAV:quota-used-bytes$3035</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>PUT large resource below nested (2) but above parent quota</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/5.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/5.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$0</value>
-						<value>DAV:quota-used-bytes$11200</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$753</value>
-						<value>DAV:quota-used-bytes$1295</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/quota/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>DAV:resourcetype</value>
-						<value>DAV:quota-available-bytes$1038671</value>
-						<value>DAV:quota-used-bytes$9905</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='PUT with oversize attachment' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>PUT new oversized resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/calendar/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/7.ics</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavmax-resource-size</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/calendar/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PUT existing oversized resource</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/calendar/2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/7.ics</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavmax-resource-size</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/calendar/2.ics</ruri>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>event 2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>PUT new oversized resource to regular collection</description>
-			<request print-response='no'>
-				<method>PUT</method>
-				<ruri>$pathprefix:/collection/1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/quota/7.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>COPY new oversized resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/calendar/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/1.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavmax-resource-size</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/calendar/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>COPY existing oversized resource</description>
-			<request print-response='no'>
-				<method>COPY</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/calendar/2.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/1.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavmax-resource-size</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/calendar/2.ics</ruri>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>event 2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>MOVE new oversized resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/calendar/1.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/1.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavmax-resource-size</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/calendar/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>404</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>MOVE existing oversized resource</description>
-			<request print-response='no'>
-				<method>MOVE</method>
-				<header>
-					<name>Destination</name>
-					<value>$pathprefix:/calendar/2.ics</value>
-				</header>
-				<ruri>$pathprefix:/collection/1.ics</ruri>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavmax-resource-size</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/calendar/2.ics</ruri>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>event 2</value>
-					</arg>
-				</verify>
-			</request>
-			<request print-response='no'>
-				<method>GET</method>
-				<ruri>$pathprefix:/collection/1.ics</ruri>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end>
-		<request>
-			<method>DELETE</method>
-			<ruri>$pathprefix:/collection/</ruri>
-		</request>
-	</end>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/recurrenceput.xml
===================================================================
--- CalDAVTester/trunk/recurrenceput.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/recurrenceput.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,247 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test PUT method in CalDAV with various recurrences to ensure
-	proper behaviour of server indexing</description>
-
-	<start/>
-	
-	<test-suite name='VEVENTs'>
-		<test name='1' ignore='no'>
-			<description>PUT non-recurring timed event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>1.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>PUT non-recurring all day event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>2.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>PUT recurring (no exceptions) timed event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>3.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>PUT recurring (no exceptions) all day event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>4.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>PUT recurring (with exceptions) timed event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>5.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>PUT recurring (with exceptions) all day event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>6.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>PUT recurring (with future exceptions) timed event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>7.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/7.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>PUT recurring (with future exceptions) all day event</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>8.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/recurrenceput/8.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='VTODOs' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Plain VTODO with no date - recurring</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>1todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>Plain VTODO with all-day DUE only - recurring</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>2todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>Plain VTODO with all-day DTSTART/DURATION only - recurring</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>3todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/7.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>Plain VTODO with all-day DTSTART only - recurring</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>3todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/8.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Plain VTODO with timed DUE only - recurring</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>4todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/9.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>Plain VTODO with timed DTSTART/DURATION only - recurring</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>5todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/10.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>Plain VTODO with timed DTSTART/DURATION only - recurring</description>
-			<request end-delete='yes'>
-				<method>PUT</method>
-				<ruri>5todo.ics</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/todo/11.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/reports.xml
===================================================================
--- CalDAVTester/trunk/reports.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/reports.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,1201 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/1.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/2.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/3.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>4.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/4.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>5.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/5.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>6.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/6.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>7.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/7.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>8.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/8.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>9.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/9.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>10.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/10.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>11.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/11.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>12.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/12.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>13.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/13.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>14.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/14.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>15.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/15.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>101.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/101.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>102.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/102.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>103.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/103.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>104.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/104.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>105.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/105.txt</filepath>
-			</data>
-		</request>
-		<request end-delete="yes">
-			<method>PUT</method>
-			<ruri>106.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/reports/put/106.txt</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='multiget reports' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>basic multiget of 4 resources returning etag and entire ics data</description>
-			<request>
-				<method>REPORT</method>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-						<value>101.ics</value>
-						<value>102.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>basic multiget of 4 resources returning etag and only VCALENDAR property data (no embedded components)</description>
-			<request>
-				<method>REPORT</method>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>basic multiget of 4 resources returning etag and only VTIMEZONE components</description>
-			<request>
-				<method>REPORT</method>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>basic multiget of 4 resources returning etag and only SUMMARY/UID properties inside VEVENT components and VALARMs</description>
-			<request>
-				<method>REPORT</method>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-						<value>101.ics</value>
-						<value>102.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>as 4.txt except that the SUMMARY property value is not returned</description>
-			<request>
-				<method>REPORT</method>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-						<value>101.ics</value>
-						<value>102.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>Does allprop</description>
-			<request>
-				<method>REPORT</method>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>Does propname</description>
-			<request>
-				<method>REPORT</method>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/multiget/7.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='basic query reports' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>query for resources with VCALENDAR &amp; VEVENT defined</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-						<value>8.ics</value>
-						<value>9.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>query for resources with VCALENDAR &amp; VEVENT not defined</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/8.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>15.ics</value>
-						<value>101.ics</value>
-						<value>102.ics</value>
-						<value>103.ics</value>
-						<value>104.ics</value>
-						<value>105.ics</value>
-						<value>106.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>query for resources where the SUMMARY in a VEVENT contains the character '1'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>query for resources where the SUMMARY in a VEVENT does not contain the character '1'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/7.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-						<value>8.ics</value>
-						<value>9.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>query for resources where the DESCRIPTION property exists in a VEVENT</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>2.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>query for resources where the DESCRIPTION property does not exist in a VEVENT</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/9.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-						<value>8.ics</value>
-						<value>9.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>query for resources that have a DTSTART in a VEVENT that contains a TZID parameter containing the text 'Paci'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>3.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>query for resources that have a DTSTART in a VEVENT that contains a TZID parameter not containing the text 'Paci'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/10.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>4.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-						<value>8.ics</value>
-						<value>9.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>query for resources that have a DTSTART in a VEVENT that contains a TZID parameter containing the text 'Paci' or 'Moun'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>2.ics</value>
-						<value>3.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10' ignore='no'>
-			<description>query for resources where the SUMMARY in a VEVENT contains the character '4' or has a DTSTART in a VEVENT that contains a TZID parameter containing the text 'East'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>4.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-						<value>8.ics</value>
-						<value>9.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='11' ignore='no'>
-			<description>query for resources where the RECURRENCE-ID in a VEVENT does not contain a RANGE parameter</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/11.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='12' ignore='no'>
-			<description>query for resources with VCALENDAR &amp; VTODO defined</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/101.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>101.ics</value>
-						<value>102.ics</value>
-						<value>103.ics</value>
-						<value>104.ics</value>
-						<value>105.ics</value>
-						<value>106.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='13' ignore='no'>
-			<description>query for resources where the SUMMARY in a VTODO contains the character '1'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/102.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>101.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='14' ignore='no'>
-			<description>query for resources that have a DUE in a VTODO that contains a TZID parameter containing the text 'East'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/103.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>102.ics</value>
-						<value>104.ics</value>
-						<value>106.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='15' ignore='no'>
-			<description>query for resources with VCALENDAR &amp; VEVENT or VTODO defined</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/201.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-						<value>8.ics</value>
-						<value>9.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-						<value>101.ics</value>
-						<value>102.ics</value>
-						<value>103.ics</value>
-						<value>104.ics</value>
-						<value>105.ics</value>
-						<value>106.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='16' ignore='no'>
-			<description>query for resources where the SUMMARY in a VEVENT or VTODO contains the character '1'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/202.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-						<value>101.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='17' ignore='no'>
-			<description>query for resources that have a DTSTART in a VEVENT with TZID containg 'Paci' or a DUE in a VTODO with TZID containing 'East'</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/203.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>3.ics</value>
-						<value>102.ics</value>
-						<value>104.ics</value>
-						<value>106.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='18' ignore='no'>
-			<description>query for VEVENTs that do not contain VALARMs</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/basicquery/12.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-						<value>8.ics</value>
-						<value>9.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='time-range query reports' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>query for VEVENTs within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>query for VEVENT/VFREEBUSYs that have a CREATED/DTSTAMP within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-						<value>2.ics</value>
-						<value>3.ics</value>
-						<value>4.ics</value>
-						<value>8.ics</value>
-						<value>9.ics</value>
-						<value>10.ics</value>
-						<value>11.ics</value>
-						<value>12.ics</value>
-						<value>13.ics</value>
-						<value>14.ics</value>
-						<value>15.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>query for VEVENTs within time range with specific SUMMARY text</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>query for VEVENT recurrence instance within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>query for overridden VEVENT instance within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>query for overridden VEVENT not within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>query for overridden this-and-future VEVENT within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/7.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>query for VTODOs within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/101.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>102.ics</value>
-						<value>103.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>query for VTODOs within time range with specific SUMMARY text</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/102.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>102.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10' ignore='no'>
-			<description>query for VTODO recurrence instance within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/timerangequery/103.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>105.ics</value>
-						<value>106.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='alarm time-range query reports' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>query for VALARMS within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/alarmtimerangequery/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>query for repeating VALARMS within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/alarmtimerangequery/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>query for recurring VALARMS within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/alarmtimerangequery/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>5.ics</value>
-						<value>7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>query for recurring/overridden VALARMS within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/alarmtimerangequery/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>5.ics</value>
-						<value>6.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>query for VALARMS on VTODO within time range</description>
-			<request>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/alarmtimerangequery/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>102.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='free-busy reports' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>query for free busy with time range</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060101T150000Z/20060101T160000Z</value>
-						<value>20060101T180000Z/20060101T190000Z</value>
-						<value>20060101T210000Z/20060101T220000Z</value>
-						<value>20060101T230000Z/20060102T000000Z</value>
-						<value>20060102T150000Z/20060102T160000Z</value>
-						<value>20060103T150000Z/20060103T160000Z</value>
-						<value>20060104T150000Z/20060104T160000Z</value>
-						<value>20060102T190000Z/20060102T200000Z</value>
-						<value>20060103T190000Z/20060103T200000Z</value>
-						<value>20060104T210000Z/20060104T220000Z</value>
-						<value>20060102T230000Z/20060103T000000Z</value>
-						<value>20060103T230000Z/20060104T000000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>query for free busy with overlapping and consecutive events</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/freebusy/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>freeBusy</callback>
-					<arg>
-						<name>busy</name>
-						<value>20060107T010000Z/20060107T020000Z</value>
-						<value>20060107T150000Z/20060107T163000Z</value>
-						<value>20060108T150000Z/20060108T180000Z</value>
-						<value>20060108T190000Z/20060108T193000Z</value>
-					</arg>
-					<arg>
-						<name>unavailable</name>
-						<value>20060108T130000Z/20060108T150000Z</value>
-					</arg>
-					<arg>
-						<name>tentative</name>
-						<value>20060108T160000Z/20060108T170000Z</value>
-						<value>20060108T210000Z/20060108T213000Z</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='limit/expand recurrence in reports' ignore='no'>
-		<test name='1' ignore='yes'>
-			<description>time-range query with limit over same range</description>
-			<request print-response='yes'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/limitexpand/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='yes'>
-			<description>time-range query with limit over different range</description>
-			<request print-response='yes'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/limitexpand/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>time-range query with expand over same range</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/limitexpand/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>time-range query with expand over different range</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/limitexpand/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>5.ics</value>
-						<value>6.ics</value>
-						<value>7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>query with limit-freebusy-set</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/reports/limitexpand/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>okhrefs</name>
-						<value>15.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/schedule.xml
===================================================================
--- CalDAVTester/trunk/schedule.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/schedule.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,727 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test SCHEDULE method in CalDAV</description>
-
-	<start>
-		<request user="$userid2:" pswd="$pswd2:" end-delete="yes">
-			<method>PUT</method>
-			<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="$userid2:" pswd="$pswd2:" end-delete="yes">
-			<method>PUT</method>
-			<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="$userid2:" pswd="$pswd2:" end-delete="yes">
-			<method>PUT</method>
-			<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="$userid3:" pswd="$pswd3:" end-delete="yes">
-			<method>PUT</method>
-			<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="$userid3:" pswd="$pswd3:" end-delete="yes">
-			<method>PUT</method>
-			<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>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/outbox/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/outbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/inbox/</ruri>
-		</request>
-		<request user="$userid3:" pswd="$pswd3:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix3:/outbox/</ruri>
-		</request>
-		<request user="$userid3:" pswd="$pswd3:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix3:/inbox/</ruri>
-		</request>
-	</start>
-	
-	<test-suite name='SCHEDULE Errors' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>SCHEDULE on invalid outbox</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Organizer</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-collection</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>SCHEDULE with invalid content</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Organizer</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>SCHEDULE with invalid calendar data</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>SCHEDULE without METHOD property</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>SCHEDULE with invalid iTIP object</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>SCHEDULE without Originator:</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator-specified</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>SCHEDULE with non-authorized Originator:</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01-bogus at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator-allowed</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>SCHEDULE without Recipient:</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavrecipient-specified</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>SCHEDULE with non-authorized Organizer:</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavorganizer-allowed</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10' ignore='no'>
-			<description>SCHEDULE reply with too many Attendees:</description>
-			<request user="$userid2:" pswd="$pswd2:">
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user02 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<ruri>$pathprefix2:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/17.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavattendee-allowed</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='11' ignore='no'>
-			<description>SCHEDULE reply with non-authorized Attendee:</description>
-			<request user="$userid2:" pswd="$pswd2:">
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user02 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<ruri>$pathprefix2:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/18.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavattendee-allowed</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name="SCHEDULEs" ignore='no'>
-		<test name='1'>
-			<description>SCHEDULE which should work</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-		<test name='2'>
-			<description>Make sure resource exists and properties are set</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/11.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;mailto:user01 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;mailto:user02 at example.com&lt;/href&gt;&lt;href xmlns="DAV:"&gt;mailto:user03 at example.com&lt;/href&gt;</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>Make sure resource exists and properties are set</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/12.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>ignore</name>
-						<value>$pathprefix2:/inbox/</value>
-					</arg>
-					<arg>
-						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;mailto:user01 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;mailto:user02 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavschedule-state$&lt;not-processed/&gt;</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>Make sure resource exists and properties are set</description>
-			<request  user="$userid3:" pswd="$pswd3:" print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix3:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/12.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>ignore</name>
-						<value>$pathprefix3:/inbox/</value>
-					</arg>
-					<arg>
-						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;mailto:user01 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;mailto:user03 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavschedule-state$&lt;not-processed/&gt;</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>SCHEDULE which should work (using relative principal addressing)</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, $principal3:</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-		<test name='6'>
-			<description>SCHEDULE which should work (using absolute principal addressing)</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>$host:/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$host:/principals/users/user02, $host:$principal3:</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name="Reports on Inbox/Outbox" ignore='no'>
-		<test name='1'>
-			<description>Simple calendar-query for VEVENTs</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/13.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>207</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>Simple calendar-query for VEVENTs</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/13.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>207</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>Simple calendar-multiget for VEVENTs</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/14.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>badhrefs</name>
-						<value>1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>Simple calendar-multiget for VEVENTs</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/15.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value/>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$pathprefix:/inbox/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>free-busy-query failure</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/16.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:supported-report</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6'>
-			<description>free-busy-query failure</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/16.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:supported-report</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name="SCHEDULEs free busy" ignore='no'>
-		<test name='1'>
-			<description>SCHEDULE free busy</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>FREEBUSY;FBTYPE=BUSY:20060101T170000Z/PT1H,20060101T190000Z/PT1H,20060101T2
- 20000Z/PT1H</value>
-						<value>FREEBUSY;FBTYPE=BUSY:20060101T190000Z/PT2H,20060101T220000Z/PT1H</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>SCHEDULE free busy - recipients with failure</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:broken at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value><![CDATA[<recipient-exists xmlns='urn:ietf:params:xml:ns:caldav'/>]]></value>
-						<value>FREEBUSY;FBTYPE=BUSY:20060101T190000Z/PT2H,20060101T220000Z/PT1H</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/scheduleacl.xml
===================================================================
--- CalDAVTester/trunk/scheduleacl.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/scheduleacl.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,285 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start>
-		<request end-delete="yes">
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/top-collection/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<!--  Calendar with DAV:read only -->
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar1/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<!--  Event with DAV:read only -->
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar1/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal1.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<!--  Event with no privileges -->
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar1/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal2.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/2.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<!--  Event with DAV:read-free-busy only -->
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar1/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal3.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/3.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<!--  Calendar with no privileges -->
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<!--  Event with DAV:read only -->
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal4.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<!--  Event with no privileges -->
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal5.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<!--  Event with DAV:read-free-busy only -->
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal6.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/3.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<!--  Calendar with CALDAV:read-free-busy only -->
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar3/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<!--  Event with DAV:read only -->
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar3/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal7.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<!--  Event with no privileges -->
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar3/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal8.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/2.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<!--  Event with DAV:read-free-busy only -->
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar3/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal9.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/3.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<!--  Set calendar-free-busy-set to the calendars only -->
-		<request>
-			<method>PROPPATCH</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-			<data substitutions='yes'>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/scheduleacl/1.xml</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='Schedule free-busy' ignore='no'>
-		<test name='1'>
-			<description>SCHEDULE free busy</description>
-			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user02 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<ruri>$pathprefix2:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleacl/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>FREEBUSY;FBTYPE=BUSY:20060101T060000Z/PT1H,20060101T100000Z/PT1H,20060101T1
- 80000Z/PT1H,20060101T220000Z/PT1H</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end>
-		<!--  Set calendar-free-busy-set back to default -->
-		<request>
-			<method>PROPPATCH</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-			<data substitutions='yes'>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/scheduleacl/2.xml</filepath>
-			</data>
-		</request>
-	</end>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/scheduleauto.xml
===================================================================
--- CalDAVTester/trunk/scheduleauto.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/scheduleauto.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,1177 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test SCHEDULE method in CalDAV</description>
-
-	<start>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/outbox/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/outbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/inbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/outbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/inbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/calendar/</ruri>
-		</request>
-	</start>
-	
-	<test-suite name='SCHEDULE non-recurring without conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do SCHEDULE</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/2.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/3.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/3.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Update to previous request - no auto-reply' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do SCHEDULE</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/5.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>One item in resource01 Inbox (old one deleted)</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='Repeat request - no auto-reply' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do SCHEDULE</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/5.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>One item in resource01 Inbox (old one deleted)</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='SCHEDULE non-recurring with conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do SCHEDULE</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/7.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/8.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/8.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='SCHEDULE recurring with conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do SCHEDULE</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/9.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/9.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/9.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/9.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/10.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/10.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='SCHEDULE recurring without conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do SCHEDULE</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/11.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/11.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/11.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/11.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/12.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/13.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/13.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='SCHEDULE non-recurring with recurring conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do SCHEDULE</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/14.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Two items in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/15.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/15.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='SCHEDULE recurring with recurring conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do SCHEDULE</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/16.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/16.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/16.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/16.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Two items in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/17.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/17.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='SCHEDULE cancel non-recurring' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do SCHEDULE</description>
-			<request>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/18.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/18.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/18.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/18.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Two items in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>6</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>6</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/outbox/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/outbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/inbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/outbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/inbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/calendar/</ruri>
-		</request>
-	</end>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/schedulenormal.xml
===================================================================
--- CalDAVTester/trunk/schedulenormal.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/schedulenormal.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,197 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test normal SCHEDULE operations in CalDAV</description>
-
-	<start>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/outbox/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/outbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/inbox/</ruri>
-		</request>
-		<request user="$userid3:" pswd="$pswd3:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix3:/outbox/</ruri>
-		</request>
-		<request user="$userid3:" pswd="$pswd3:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix3:/inbox/</ruri>
-		</request>
-	</start>
-	
-	<test-suite name="SCHEDULEs" ignore='no'>
-		<test name='1'>
-			<description>Initial REQUEST</description>
-			<request print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, $principal3:</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-		<test name='2'>
-			<description>Make sure resource exists and properties are set</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<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="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>ignore</name>
-						<value>$pathprefix2:/inbox/</value>
-					</arg>
-					<arg>
-						<name>okprops</name>
-						<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>
-			</request>
-		</test>
-		<test name='4'>
-			<description>Make sure resource exists and properties are set</description>
-			<request user="$userid3:" pswd="$pswd3:" print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix3:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>ignore</name>
-						<value>$pathprefix3:/inbox/</value>
-					</arg>
-					<arg>
-						<name>okprops</name>
-						<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>
-			</request>
-		</test>
-		<test name='5'>
-			<description>REPLY from one</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>SCHEDULE</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user02</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<ruri>$pathprefix2:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix2:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/schedulepost.xml
===================================================================
--- CalDAVTester/trunk/schedulepost.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/schedulepost.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,727 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test POST method in CalDAV</description>
-
-	<start>
-		<request user="$userid2:" pswd="$pswd2:" end-delete="yes">
-			<method>PUT</method>
-			<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="$userid2:" pswd="$pswd2:" end-delete="yes">
-			<method>PUT</method>
-			<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="$userid2:" pswd="$pswd2:" end-delete="yes">
-			<method>PUT</method>
-			<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="$userid3:" pswd="$pswd3:" end-delete="yes">
-			<method>PUT</method>
-			<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="$userid3:" pswd="$pswd3:" end-delete="yes">
-			<method>PUT</method>
-			<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>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/outbox/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/outbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/inbox/</ruri>
-		</request>
-		<request user="$userid3:" pswd="$pswd3:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix3:/outbox/</ruri>
-		</request>
-		<request user="$userid3:" pswd="$pswd3:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix3:/inbox/</ruri>
-		</request>
-	</start>
-	
-	<test-suite name='POST Errors' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>POST on invalid outbox</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Organizer</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-collection</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>POST with invalid content</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Organizer</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>POST with invalid calendar data</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/1.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>POST without METHOD property</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/2.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>POST with invalid iTIP object</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/5.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>POST without Originator:</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator-specified</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>POST with non-authorized Originator:</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01-bogus at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator-allowed</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>POST without Recipient:</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavrecipient-specified</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='9' ignore='no'>
-			<description>POST with non-authorized Organizer:</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/4.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavorganizer-allowed</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='10' ignore='no'>
-			<description>POST reply with too many Attendees:</description>
-			<request user="$userid2:" pswd="$pswd2:">
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user02 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<ruri>$pathprefix2:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/17.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavattendee-allowed</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='11' ignore='no'>
-			<description>POST reply with non-authorized Attendee:</description>
-			<request user="$userid2:" pswd="$pswd2:">
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user02 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<ruri>$pathprefix2:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/18.txt</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>urn:ietf:params:xml:ns:caldavattendee-allowed</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name="POSTs" ignore='no'>
-		<test name='1'>
-			<description>POST which should work</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-		<test name='2'>
-			<description>Make sure resource exists and properties are set</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/11.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;mailto:user01 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;mailto:user02 at example.com&lt;/href&gt;&lt;href xmlns="DAV:"&gt;mailto:user03 at example.com&lt;/href&gt;</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>Make sure resource exists and properties are set</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/12.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>ignore</name>
-						<value>$pathprefix2:/inbox/</value>
-					</arg>
-					<arg>
-						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;mailto:user01 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;mailto:user02 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavschedule-state$&lt;not-processed/&gt;</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>Make sure resource exists and properties are set</description>
-			<request  user="$userid3:" pswd="$pswd3:" print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix3:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/12.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>ignore</name>
-						<value>$pathprefix3:/inbox/</value>
-					</arg>
-					<arg>
-						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavoriginator$&lt;href xmlns="DAV:"&gt;mailto:user01 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavrecipient$&lt;href xmlns="DAV:"&gt;mailto:user03 at example.com&lt;/href&gt;</value>
-						<value>urn:ietf:params:xml:ns:caldavschedule-state$&lt;not-processed/&gt;</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>POST which should work (using relative principal addressing)</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, $principal3:</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-		<test name='6'>
-			<description>POST which should work (using absolute principal addressing)</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>$host:/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>$host:/principals/users/user02, $host:$principal3:</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/3.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name="Reports on Inbox/Outbox" ignore='no'>
-		<test name='1'>
-			<description>Simple calendar-query for VEVENTs</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/13.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>207</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>Simple calendar-query for VEVENTs</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/13.xml</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-					<arg>
-						<name>status</name>
-						<value>207</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3'>
-			<description>Simple calendar-multiget for VEVENTs</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data substitutions='yes'>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/14.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>badhrefs</name>
-						<value>1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4'>
-			<description>Simple calendar-multiget for VEVENTs</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/15.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>prefix</name>
-						<value/>
-					</arg>
-					<arg>
-						<name>badhrefs</name>
-						<value>$pathprefix:/inbox/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5'>
-			<description>free-busy-query failure</description>
-			<request print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/16.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:supported-report</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6'>
-			<description>free-busy-query failure</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>REPORT</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedule/16.xml</filepath>
-				</data>
-				<verify>
-					<callback>prepostcondition</callback>
-					<arg>
-						<name>error</name>
-						<value>DAV:supported-report</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name="POSTs free busy" ignore='no'>
-		<test name='1'>
-			<description>POST free busy</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user02 at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>FREEBUSY;FBTYPE=BUSY:20060101T170000Z/PT1H,20060101T190000Z/PT1H,20060101T2
- 20000Z/PT1H</value>
-						<value>FREEBUSY;FBTYPE=BUSY:20060101T190000Z/PT2H,20060101T220000Z/PT1H</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='2'>
-			<description>POST free busy - recipients with failure</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:broken at example.com, mailto:user03 at example.com</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedule/6.txt</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value><![CDATA[<recipient-exists xmlns='urn:ietf:params:xml:ns:caldav'/>]]></value>
-						<value>FREEBUSY;FBTYPE=BUSY:20060101T190000Z/PT2H,20060101T220000Z/PT1H</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/schedulepostacl.xml
===================================================================
--- CalDAVTester/trunk/schedulepostacl.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/schedulepostacl.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,276 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<start>
-		<request end-delete="yes">
-			<method>MKCOL</method>
-			<ruri>$pathprefix:/top-collection/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<!--  Calendar with DAV:read only -->
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar1/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar1/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal1.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar1/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal2.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/2.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar1/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal3.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar1/3.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<!--  Calendar with no privileges -->
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal4.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal5.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar2/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal6.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar2/3.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<!--  Calendar with CALDAV:read-free-busy only -->
-		<request>
-			<method>MKCALENDAR</method>
-			<ruri>$pathprefix:/top-collection/calendar3/</ruri>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar3/1.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal7.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/1.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/1.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar3/2.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal8.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/2.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/2.xml</filepath>
-			</data>
-		</request>
-		<request>
-			<method>PUT</method>
-			<ruri>$pathprefix:/top-collection/calendar3/3.ics</ruri>
-			<data>
-				<content-type>text/calendar; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/cal9.ics</filepath>
-			</data>
-		</request>
-		<request>
-			<method>ACL</method>
-			<ruri>$pathprefix:/top-collection/calendar3/3.ics</ruri>
-			<data>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/depthreportsacl/3.xml</filepath>
-			</data>
-		</request>
-		<!--  Set calendar-free-busy-set to the calendars only -->
-		<request>
-			<method>PROPPATCH</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-			<data substitutions='yes'>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/scheduleacl/1.xml</filepath>
-			</data>
-		</request>
-	</start>
-	
-	<test-suite name='Schedule free-busy' ignore='no'>
-		<test name='1'>
-			<description>POST free busy</description>
-			<request user="$userid2:" pswd='$pswd2:' print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>mailto:user02 at example.com</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>mailto:user01 at example.com</value>
-				</header>
-				<ruri>$pathprefix2:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleacl/3.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>dataString</callback>
-					<arg>
-						<name>contains</name>
-						<value>FREEBUSY;FBTYPE=BUSY:20060101T060000Z/PT1H,20060101T100000Z/PT1H,20060101T1
- 80000Z/PT1H,20060101T220000Z/PT1H</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end>
-		<!--  Set calendar-free-busy-set back to default -->
-		<request>
-			<method>PROPPATCH</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-			<data substitutions='yes'>
-				<content-type>text/xml; charset=utf-8</content-type>
-				<filepath>Resource/scheduleacl/2.xml</filepath>
-			</data>
-		</request>
-	</end>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/schedulepostauto.xml
===================================================================
--- CalDAVTester/trunk/schedulepostauto.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/schedulepostauto.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,1177 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test POST method in CalDAV</description>
-
-	<start>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/outbox/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/outbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/inbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/outbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/inbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/calendar/</ruri>
-		</request>
-	</start>
-	
-	<test-suite name='POST non-recurring without conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/1.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/2.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/3.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/3.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='Update to previous request - no auto-reply' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/5.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>One item in resource01 Inbox (old one deleted)</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='Repeat request - no auto-reply' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/4.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/5.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='8' ignore='no'>
-			<description>One item in resource01 Inbox (old one deleted)</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST non-recurring with conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/7.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/7.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/8.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/8.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST recurring with conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/9.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/9.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/9.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/9.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/10.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/10.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST recurring without conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/11.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/11.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/11.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/11.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>One item in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/12.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/13.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/13.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<test-suite name='POST non-recurring with recurring conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/14.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/14.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Two items in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/15.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/15.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST recurring with recurring conflict' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/16.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/16.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/16.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/16.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Two items in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>2</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/17.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/17.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<test-suite name='POST cancel non-recurring' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>Do POST</description>
-			<request>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, /principals/users/resource01</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/18.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-			</request>
-			<request>
-				<method>DELAY</method>
-				<ruri>6</ruri>
-			</request>
-		</test>
-		<test name='2' ignore='no'>
-			<description>One item in user01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/18.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='3' ignore='no'>
-			<description>One item in user02 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/18.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='4' ignore='no'>
-			<description>One item in resource01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>GETNEW</method>
-				<ruri>/calendars/users/resource01/inbox/</ruri>
-				<verify>
-					<callback>dataMatch</callback>
-					<arg>
-						<name>filepath</name>
-						<value>Resource/scheduleauto/18.ics</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='5' ignore='no'>
-			<description>Two items in resource01 Calendar</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/calendar/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleauto/6.xml</filepath>
-				</data>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>1</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='6' ignore='no'>
-			<description>One item in resource01 Outbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>/calendars/users/resource01/outbox/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>6</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-		<test name='7' ignore='no'>
-			<description>One item in user01 Inbox</description>
-			<request user="$useradmin:" pswd="$pswdadmin:" print-response="no">
-				<method>PROPFIND</method>
-				<ruri>$pathprefix:/inbox/</ruri>
-				<verify>
-					<callback>multistatusItems</callback>
-					<arg>
-						<name>count</name>
-						<value>6</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-
-	<end>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/outbox/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/outbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/inbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/outbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/inbox/</ruri>
-		</request>
-		<request user="$useradmin:" pswd="$pswdadmin:">
-			<method>DELETEALL</method>
-			<ruri>/calendars/users/resource01/calendar/</ruri>
-		</request>
-	</end>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/schedulepostnormal.xml
===================================================================
--- CalDAVTester/trunk/schedulepostnormal.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/schedulepostnormal.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,197 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test normal POST operations in CalDAV</description>
-
-	<start>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/outbox/</ruri>
-		</request>
-		<request>
-			<method>DELETEALL</method>
-			<ruri>$pathprefix:/inbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/outbox/</ruri>
-		</request>
-		<request user="$userid2:" pswd="$pswd2:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix2:/inbox/</ruri>
-		</request>
-		<request user="$userid3:" pswd="$pswd3:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix3:/outbox/</ruri>
-		</request>
-		<request user="$userid3:" pswd="$pswd3:">
-			<method>DELETEALL</method>
-			<ruri>$pathprefix3:/inbox/</ruri>
-		</request>
-	</start>
-	
-	<test-suite name="POSTs" ignore='no'>
-		<test name='1'>
-			<description>Initial REQUEST</description>
-			<request print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user02, $principal3:</value>
-				</header>
-				<ruri>$pathprefix:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/1.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-		<test name='2'>
-			<description>Make sure resource exists and properties are set</description>
-			<request print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/2.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<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="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix2:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>ignore</name>
-						<value>$pathprefix2:/inbox/</value>
-					</arg>
-					<arg>
-						<name>okprops</name>
-						<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>
-			</request>
-		</test>
-		<test name='4'>
-			<description>Make sure resource exists and properties are set</description>
-			<request user="$userid3:" pswd="$pswd3:" print-response='no'>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>1</value>
-				</header>
-				<ruri>$pathprefix3:/inbox/</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/3.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>ignore</name>
-						<value>$pathprefix3:/inbox/</value>
-					</arg>
-					<arg>
-						<name>okprops</name>
-						<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>
-			</request>
-		</test>
-		<test name='5'>
-			<description>REPLY from one</description>
-			<request user="$userid2:" pswd="$pswd2:" print-response='no'>
-				<method>POST</method>
-				<header>
-					<name>Originator</name>
-					<value>/principals/users/user02</value>
-				</header>
-				<header>
-					<name>Recipient</name>
-					<value>/principals/users/user01</value>
-				</header>
-				<ruri>$pathprefix2:/outbox/</ruri>
-				<data>
-					<content-type>text/calendar; charset=utf-8</content-type>
-					<filepath>Resource/schedulenormal/4.ics</filepath>
-				</data>
-				<verify>
-					<callback>statusCode</callback>
-				</verify>
-				<verify>
-					<callback>header</callback>
-					<arg>
-						<name>header</name>
-						<value>Location$^$pathprefix2:/outbox/[^/]+\.ics$</value>
-					</arg>
-				</verify>
-				<grablocation/>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Deleted: CalDAVTester/trunk/scheduleprops.xml
===================================================================
--- CalDAVTester/trunk/scheduleprops.xml	2006-10-07 01:05:56 UTC (rev 263)
+++ CalDAVTester/trunk/scheduleprops.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -1,57 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
-
-<!--
- 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
- -->
-
-<caldavtest>
-	<description>Test properties defined by caldav-schedule</description>
-
-	<start/>
-	
-	<test-suite name='Inbox/Outbox' ignore='no'>
-		<test name='1' ignore='no'>
-			<description>PROPFIND inbox/outbox URLs</description>
-			<request>
-				<method>PROPFIND</method>
-				<header>
-					<name>Depth</name>
-					<value>0</value>
-				</header>
-				<ruri>$principal:</ruri>
-				<data>
-					<content-type>text/xml; charset=utf-8</content-type>
-					<filepath>Resource/scheduleprops/1.xml</filepath>
-				</data>
-				<verify>
-					<callback>propfindItems</callback>
-					<arg>
-						<name>okprops</name>
-						<value>urn:ietf:params:xml:ns:caldavschedule-inbox-URL</value>
-						<value>urn:ietf:params:xml:ns:caldavschedule-outbox-URL</value>
-						<value>urn:ietf:params:xml:ns:caldavcalendar-user-address-set</value>
-					</arg>
-				</verify>
-			</request>
-		</test>
-	</test-suite>
-	
-	<end/>
-	
-</caldavtest>

Added: CalDAVTester/trunk/scripts/performance/perfinfo.dtd
===================================================================
--- CalDAVTester/trunk/scripts/performance/perfinfo.dtd	                        (rev 0)
+++ CalDAVTester/trunk/scripts/performance/perfinfo.dtd	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,42 @@
+<!--
+ 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
+ -->
+
+<!ELEMENT perfinfo (clients, threads, logging, tests, serverinfo, testinfo, substitutions)? >
+
+	<!ELEMENT clients		(#PCDATA)>
+
+	<!ELEMENT threads		EMPTY>
+		<!ATTLIST threads	enable (yes|no) "no">
+
+	<!ELEMENT logging		EMPTY>
+		<!ATTLIST logging	enable (yes|no) "no">
+
+	<!ELEMENT tests			(test*)>
+		<!ELEMENT test			(spread, runs)>
+			<!ELEMENT spread		(#PCDATA)>
+			<!ELEMENT runs			(#PCDATA)>
+
+	<!ELEMENT serverinfo	(#PCDATA)>
+
+	<!ELEMENT testinfo	(#PCDATA)>
+
+	<!ELEMENT substitutions	(substitution*)>
+		<!ELEMENT substitution	(key, value)>
+			<!ELEMENT key			(#PCDATA)>
+			<!ELEMENT value			(#PCDATA)>
+	

Added: CalDAVTester/trunk/scripts/performance/perfinfo.xml
===================================================================
--- CalDAVTester/trunk/scripts/performance/perfinfo.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/performance/perfinfo.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,90 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE perfinfo SYSTEM "perfinfo.dtd">
+
+<!--
+ 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
+ -->
+
+<perfinfo>
+	<clients>20</clients>
+	<threads enable="yes"/>
+	<logging enable="no"/>
+	<tests>
+		<test>
+			<spread>1.0</spread>
+			<runs>5</runs>
+		</test>
+		<test>
+			<spread>2.0</spread>
+			<runs>5</runs>
+		</test>
+		<test>
+			<spread>5.0</spread>
+			<runs>5</runs>
+		</test>
+		<test>
+			<spread>10.0</spread>
+			<runs>2</runs>
+		</test>
+		<test>
+			<spread>20.0</spread>
+			<runs>2</runs>
+		</test>
+		<test>
+			<spread>30.0</spread>
+			<runs>2</runs>
+		</test>
+		<test>
+			<spread>45.0</spread>
+			<runs>2</runs>
+		</test>
+		<test>
+			<spread>60.0</spread>
+			<runs>2</runs>
+		</test>
+	</tests>
+	<serverinfo>scripts/server/serverinfo.xml</serverinfo>
+	<testinfo>performance/put-small.xml</testinfo>
+	<substitutions>
+		<!-- first user id -->
+		<substitution>
+			<key>$userid1:</key>
+			<value>user%02d</value>
+		</substitution>
+		<!-- password for first user -->
+		<substitution>
+			<key>$pswd1:</key>
+			<value>user%02d</value>
+		</substitution>
+		<!-- relative path to first user principal resource-->
+		<substitution>
+			<key>$principal:</key>
+			<value>/principals/users/user%02d</value>
+		</substitution>
+		<!-- relative path to first user calendar home-->
+		<substitution>
+			<key>$pathprefix:</key>
+			<value>/calendars/users/user%02d</value>
+		</substitution>
+		<!-- relative path to first user calendar home-->
+		<substitution>
+			<key>$calendarpath1:</key>
+			<value>/calendars/users/user%02d/calendar</value>
+		</substitution>
+	</substitutions>
+</perfinfo>

Added: CalDAVTester/trunk/scripts/server1/serverinfo.dtd
===================================================================
--- CalDAVTester/trunk/scripts/server1/serverinfo.dtd	                        (rev 0)
+++ CalDAVTester/trunk/scripts/server1/serverinfo.dtd	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,29 @@
+<!--
+ 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
+ -->
+
+<!ELEMENT serverinfo (host, port, ssl?, substitutions, serverfilepath)? >
+
+	<!ELEMENT host			(#PCDATA)>
+	<!ELEMENT port			(#PCDATA)>
+	<!ELEMENT ssl			EMPTY>
+	<!ELEMENT substitutions	(substitution*)>
+		<!ELEMENT substitution	(key, value)>
+			<!ELEMENT key			(#PCDATA)>
+			<!ELEMENT value			(#PCDATA)>
+	<!ELEMENT serverfilepath	(#PCDATA)>
+	

Added: CalDAVTester/trunk/scripts/server1/serverinfo.xml
===================================================================
--- CalDAVTester/trunk/scripts/server1/serverinfo.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/server1/serverinfo.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,117 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE serverinfo SYSTEM "serverinfo.dtd">
+
+<!--
+ 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
+ -->
+
+<serverinfo>
+	<host>localhost</host>
+	<port>8008</port>
+	<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>
+		<!-- password for first user -->
+		<substitution>
+			<key>$pswd1:</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>
+		<!-- relative path to first user calendar home-->
+		<substitution>
+			<key>$calendarpath1:</key>
+			<value>/calendars/users/user01/calendar</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>

Added: CalDAVTester/trunk/scripts/server1/sslserverinfo.xml
===================================================================
--- CalDAVTester/trunk/scripts/server1/sslserverinfo.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/server1/sslserverinfo.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,111 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE serverinfo SYSTEM "serverinfo.dtd">
+
+<!--
+ 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
+ -->
+
+<serverinfo>
+	<host>localhost</host>
+	<port>8443</port>
+	<ssl/>
+	<calendarpath>/calendars/users/user01/calendar</calendarpath>
+	<user>user01</user>
+	<pswd>user01</pswd>
+	<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>

Added: CalDAVTester/trunk/scripts/tests1/acl.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/acl.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/acl.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,1009 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<description>Test ACLs on the server</description>
+
+	<start>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/delete/1.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/delete/2.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>1todo.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/todo/1.txt</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix2:/visibletouser01/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>ACL</method>
+			<ruri>$pathprefix2:/visibletouser01/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acls/3.xml</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>PUT</method>
+			<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="$userid2:" pswd="$pswd2:">
+			<method>ACL</method>
+			<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="$userid2:" pswd="$pswd2:">
+			<method>PUT</method>
+			<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="$userid2:" pswd="$pswd2:">
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>ACL</method>
+			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acls/4.xml</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>PUT</method>
+			<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="$userid2:" pswd="$pswd2:">
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix2:/writeabletouser01/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>ACL</method>
+			<ruri>$pathprefix2:/writeabletouser01/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acls/13.xml</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix2:/calreadtoauth/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>ACL</method>
+			<ruri>$pathprefix2:/calreadtoauth/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acls/18.xml</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>PUT</method>
+			<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="$userid2:" pswd="$pswd2:">
+			<method>MKCOL</method>
+			<ruri>$pathprefix2:/colreadtoauth/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>ACL</method>
+			<ruri>$pathprefix2:/colreadtoauth/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acls/18.xml</filepath>
+			</data>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>PUT</method>
+			<ruri>$pathprefix2:/colreadtoauth/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/acls/16.ics</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='Read ACLs' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>PROPFIND existing VEVENT</description>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>/calendars/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:getcontentlength</value>
+						<value>DAV:getcontenttype</value>
+						<value>DAV:resourcetype</value>
+						<value>DAV:getetag</value>
+						<value>DAV:displayname</value>
+						<value>DAV:supported-privilege-set</value>
+						<value>DAV:current-user-privilege-set</value>
+						<value>DAV:acl</value>
+						<value>DAV:acl-restrictions</value>
+						<value>DAV:inherited-acl-set</value>
+						<value>DAV:principal-collection-set</value>
+					</arg>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:owner</value>
+						<value>DAV:group</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>PROPFIND without DAV:read-acl or DAV:read-current-user-privilege-set</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>/calendars/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:getcontentlength</value>
+						<value>DAV:getcontenttype</value>
+						<value>DAV:resourcetype</value>
+						<value>DAV:getetag</value>
+						<value>DAV:displayname</value>
+						<value>DAV:supported-privilege-set</value>
+						<value>DAV:acl-restrictions</value>
+						<value>DAV:inherited-acl-set</value>
+						<value>DAV:principal-collection-set</value>
+					</arg>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:current-user-privilege-set</value>
+						<value>DAV:acl</value>
+						<value>DAV:owner</value>
+						<value>DAV:group</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>Check for schedule privilege on iTIP Inbox</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/inbox/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>aclItems</callback>
+					<arg>
+						<name>granted</name>
+						<value>DAV:read</value>
+						<value>DAV:write</value>
+						<value>DAV:write-acl</value>
+						<value>DAV:read-current-user-privilege-set</value>
+						<value>urn:ietf:params:xml:ns:caldavschedule</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>Check for schedule privilege on iTIP Outbox</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/outbox/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>aclItems</callback>
+					<arg>
+						<name>granted</name>
+						<value>DAV:read</value>
+						<value>DAV:write</value>
+						<value>DAV:write-acl</value>
+						<value>DAV:read-current-user-privilege-set</value>
+						<value>urn:ietf:params:xml:ns:caldavschedule</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>Check for lack of schedule privilege on regular calendar</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>aclItems</callback>
+					<arg>
+						<name>granted</name>
+						<value>DAV:read</value>
+						<value>DAV:write</value>
+						<value>DAV:write-acl</value>
+						<value>DAV:read-current-user-privilege-set</value>
+					</arg>
+					<arg>
+						<name>denied</name>
+						<value>urn:ietf:params:xml:ns:caldavschedule</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='PROPFIND interaction with ACL' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>PROPFIND all calendars</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix2:/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix2:/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value/>
+						<value>visibletouser01/</value>
+						<value>writeabletouser01/</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>PROPFIND: prinicpal-collection-set test</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/14.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:principal-collection-set$&lt;href>/principals/users/&lt;/href></value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='ACL method preconditions' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Failure when DAV:write-acl not granted</description>
+			<request print-response='no'>
+				<method>ACL</method>
+				<ruri>$pathprefix2:/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/4.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>DAV:no-ace-conflict precondition failure - attempt to set protected ACE</description>
+			<request print-response='no'>
+				<method>ACL</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/5.xml</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:no-ace-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>DAV:no-ace-conflict precondition failure - attempt to set inherited ACE</description>
+			<request print-response='no'>
+				<method>ACL</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/6.xml</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:no-ace-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>DAV:no-protected-ace-conflict precondition failure - attempt to change protected ACE</description>
+			<request print-response='no'>
+				<method>ACL</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/7.xml</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:no-protected-ace-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<!-- This error is no longer generated by the server.
+		<test name='5' ignore='no'>
+			<description>DAV:no-inherited-ace-conflict precondition failure - attempt to change inherited ACE</description>
+			<request print-response='no'>
+				<method>ACL</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/8.xml</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:no-inherited-ace-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		-->
+		<test name='6' ignore='no'>
+			<description>DAV:deny-before-grant precondition failure - attempt to deny before grant a set of ACEs</description>
+			<request print-response='no'>
+				<method>ACL</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/9.xml</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:deny-before-grant</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7' ignore='no'>
+			<description>DAV:not-supported-privilege precondition failure - attempt to use unsupported privilege</description>
+			<request print-response='no'>
+				<method>ACL</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/10.xml</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:not-supported-privilege</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8' ignore='no'>
+			<description>DAV:recognized-principal precondition failure - attempt to use unknown principal</description>
+			<request print-response='no'>
+				<method>ACL</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/11.xml</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:recognized-principal</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9' ignore='no'>
+			<description>Valid command</description>
+			<request print-response='no'>
+				<method>ACL</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/12.xml</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:recognized-principal</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='COPY/MOVE interaction with ACL' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>COPY to non-writeable shared calendar</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix2:/visibletouser01/copy1.ics</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>COPY to non-visible shared calendar</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix2:/notvisibletouser01/copy1.ics</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>COPY to non-visible shared calendar with overwrite</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix2:/notvisibletouser01/hidden1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>T</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>COPY to visible with no overwrite shared calendar</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix2:/writeabletouser01/1.ics</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>201</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>COPY to writeable shared calendar</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix2:/writeabletouser01/copy1.ics</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>MOVE to non-writeable shared calendar</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix2:/visibletouser01/move2.ics</value>
+				</header>
+				<ruri>2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7' ignore='no'>
+			<description>MOVE to non-visible shared calendar</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix2:/notvisibletouser01/move2.ics</value>
+				</header>
+				<ruri>2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8' ignore='no'>
+			<description>MOVE to non-visible shared calendar with overwrite</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix2:/notvisibletouser01/hidden1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>T</value>
+				</header>
+				<ruri>2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9' ignore='no'>
+			<description>MOVE to writeable shared calendar</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix2:/writeabletouser01/move2.ics</value>
+				</header>
+				<ruri>2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>201</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Principal Properties' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>PROPFIND principal VEVENT</description>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$principal:</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/15.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:alternate-URI-set</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>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='Directory list access' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Get calendar home collection</description>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix2:/</ruri>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>inbox</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Get calendar collection</description>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix2:/visibletouser01/</ruri>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>VTODO</value>
+					</arg>
+					<arg>
+						<name>notcontains</name>
+						<value>VEVENT</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='ACL calendar collection inheritance' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Check that read is not set</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix2:/calreadtoauth/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Check that read is not inherited</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix2:/calreadtoauth/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>Set read on collection only</description>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>ACL</method>
+				<ruri>$pathprefix2:/calreadtoauth/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/19.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>Check that read is set</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix2:/calreadtoauth/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>aclItems</callback>
+					<arg>
+						<name>granted</name>
+						<value>urn:ietf:params:xml:ns:caldavread-free-busy</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>Check that read is inherited</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix2:/calreadtoauth/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>aclItems</callback>
+					<arg>
+						<name>granted</name>
+						<value>urn:ietf:params:xml:ns:caldavread-free-busy</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='ACL regular collection no inheritance' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Check that read is not set</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix2:/colreadtoauth/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Check that read is not inherited</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix2:/colreadtoauth/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>Set read on collection only</description>
+			<request user="$userid2:" pswd="$pswd2:">
+				<method>ACL</method>
+				<ruri>$pathprefix2:/colreadtoauth/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/19.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>Check that read is set</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix2:/colreadtoauth/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>aclItems</callback>
+					<arg>
+						<name>granted</name>
+						<value>urn:ietf:params:xml:ns:caldavread-free-busy</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>Check that read is inherited</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix2:/colreadtoauth/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acls/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<end>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>DELETE</method>
+			<ruri>$pathprefix2:/visibletouser01/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>DELETE</method>
+			<ruri>$pathprefix2:/notvisibletouser01/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>DELETE</method>
+			<ruri>$pathprefix2:/writeabletouser01/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>DELETE</method>
+			<ruri>$pathprefix2:/calreadtoauth/</ruri>
+		</request>
+		<request user="$userid2:" pswd="$pswd2:">
+			<method>DELETE</method>
+			<ruri>$pathprefix2:/colreadtoauth/</ruri>
+		</request>
+	</end>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/acldisabled.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/acldisabled.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/acldisabled.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,335 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<description>Test ACLs on the server</description>
+
+	<start>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/</ruri>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/collection/disabled/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/delete/1.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acldisabled/1.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/collection/enabled/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/delete/1.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/acldisabled/1.xml</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<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>$pathprefix:/collection/disabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>GET on disabled ics, user02</description>
+			<request print-response='no' user='$userid2:' pswd="$pswd2:">
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>GET on disabled ics, admin</description>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>GET on enabled ics, user01</description>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='PROPFIND OK' ignore='yes'>
+		<test name='1' ignore='no'>
+			<description>PROPFIND on collection, depth infinity</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acldisabled/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/collection/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value/>
+						<value>enabled/</value>
+						<value>enabled/1.ics</value>
+						<value>disabled/</value>
+						<value>disabled/1.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>PROPFIND on disabled, depth infinity</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/collection/disabled/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acldisabled/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/collection/disabled/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value/>
+						<value>1.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Disable Access' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Disable access</description>
+			<request>
+				<method>ACCESS-DISABLE</method>
+				<ruri>$pathprefix:/collection/disabled</ruri>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='Read Resource Forbidden' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>GET on ics, user01</description>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>GET on ics, user02</description>
+			<request print-response='no' user='$userid2:' pswd="$pswd2:">
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>GET on ics, admin</description>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>GET on enabled ics, user01</description>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/enabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='PROPFIND FORBIDDEN' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>PROPFIND on collection, depth infinity</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acldisabled/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/collection/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value/>
+						<value>enabled/</value>
+						<value>enabled/1.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>PROPFIND on disabled, depth infinity</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/collection/disabled/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/acldisabled/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Delete Resource Forbidden, then allowed' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>DELETE on ics, user01</description>
+			<request print-response='no'>
+				<method>DELETE</method>
+				<ruri>$pathprefix:/collection/disabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Enable access</description>
+			<request>
+				<method>ACCESS-ENABLE</method>
+				<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>$pathprefix:/collection/disabled/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end>
+		<request>
+			<method>DELETE</method>
+			<ruri>$pathprefix:/collection/</ruri>
+		</request>
+	</end>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/aclreports.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/aclreports.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/aclreports.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,635 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<description>Test ACLs on the server</description>
+
+	<start>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/delete/1.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PROPPATCH</method>
+			<ruri>1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/aclreports/10.xml</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/delete/2.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PROPPATCH</method>
+			<ruri>2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/aclreports/9.xml</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>1todo.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/todo/1.txt</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='acl-principal-prop-set REPORT' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Wrong Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Wrong Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>No DAV:prop</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>Too many DAV:prop</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>No DAV:read-acl privilege</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix2:/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>Valid report</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>/principals/users/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>$userid1:</value>
+					</arg>
+					<arg>
+						<name>badhrefs</name>
+						<value>$useradmin:</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='principal-match REPORT' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Wrong Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/4.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Wrong Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/4.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>Too many DAV:prop</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/6.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>500</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>Valid self report with DAV:prop</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/4.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>$userid1:</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>Valid self report without DAV:prop</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/5.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>$userid1:</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>Valid principal-search report with DAV:prop</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/7.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>2.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7' ignore='no'>
+			<description>Valid principal-search report without DAV:prop</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/8.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>2.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8' ignore='no'>
+			<description>principal-search with inaccessible property</description>
+			<request print-response='no' user='$userid2:' pswd='$pswd2:'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/11.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='principal-property-search REPORT' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Wrong Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/12.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Wrong Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/12.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>Valid non-apply-to report with DAV:prop</description>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
+				<method>REPORT</method>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/12.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>public01</value>
+						<value>resource01</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='$useradmin:' pswd='$pswdadmin:'>
+				<method>REPORT</method>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/13.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>public02</value>
+						<value>resource02</value>
+						<value>user02</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>Valid apply-to report with DAV:prop</description>
+			<request print-response='no' user='$useradmin:' pswd='$pswdadmin:'>
+				<method>REPORT</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/14.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>/principals/users/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>public01</value>
+						<value>resource01</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='$useradmin:' pswd='$pswdadmin:'>
+				<method>REPORT</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/15.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>/principals/users/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>public02</value>
+						<value>resource02</value>
+						<value>user02</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='principal-search-property-set REPORT' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Wrong Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/16.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Wrong Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/16.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>Report on non-principal collection</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/16.xml</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:supported-report</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>Valid report</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/16.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/aclreports/18.xml</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='supported-report-set property' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Regular resource</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/17.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>207</value>
+					</arg>
+				</verify>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/aclreports/19.xml</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Regular resource</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>/principals/users/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/aclreports/17.xml</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>207</value>
+					</arg>
+				</verify>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/aclreports/20.xml</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/attachments.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/attachments.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/attachments.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,144 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<description>Test attachments with CalDAV</description>
+
+	<start/>
+	
+	<test-suite name='Inline'>
+		<test name='1' ignore='no'>
+			<description>VEVENT with image/jpeg</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/attachments/1.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>ATTACH;FMTTYPE=image/jpeg;ENCODING=BASE64;VALUE=BINARY:</value>
+					</arg>
+					<arg>
+						<name>contains</name>
+						<value>RQAUUUUAFFFFAH//2Q==</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>VTODO with image/jpeg</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/attachments/2.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>2.ics</ruri>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>ATTACH;FMTTYPE=image/jpeg;ENCODING=BASE64;VALUE=BINARY:</value>
+					</arg>
+					<arg>
+						<name>contains</name>
+						<value>RQAUUUUAFFFFAH//2Q==</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='External'>
+		<test name='1' ignore='no'>
+			<description>VEVENT with http://</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>3.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/attachments/3.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>3.ics</ruri>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>ATTACHMENT:http://www.example.com/test.jpg</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>VTODO with image/jpeg</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>4.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/attachments/4.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>4.ics</ruri>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>ATTACHMENT:http://www.example.com/test.jpg</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/caldavIOP.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/caldavIOP.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/caldavIOP.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,275 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<start/>
+	
+	<test-suite name='1. Event Creation'>
+		<test name='1.1'>
+			<description>Create new single-instance meeting titled "Meeting 1.1" with the location "Durham".</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>1-1_1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/1/1_1.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='1.2'>
+			<description>Create new meeting titled "Meeting 1.2" recurring every Monday from 10:00 AM to 11:00 AM for 4 weeks.</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>1-1_2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/1/1_2.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='1.3'>
+			<description>Create new single-instance meeting titled "Meeting 1.3" with 2 other attendees.</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>1-1_3.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/1/1_3.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='1.4'>
+			<description>Create new single-instance meeting titled "Meeting 1.4" with an alarm set to trigger 15 minutes prior to the schedule time of the meeting.</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>1-1_4.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/1/1_4.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='2. Event Modification'>
+		<test name='2.1'>
+			<description>Modify the title of meeting "Meeting 1.1" to "Meeting 1.1bis".</description>
+			<request>
+				<method>PUT</method>
+				<ruri>1-1_1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/2/2_1.txt</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2.2'>
+			<description>Modify the location of the meeting "Meeting 1.1bis" to "Seattle bis".</description>
+			<request>
+				<method>PUT</method>
+				<ruri>1-1_1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/2/2_2.txt</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2.3'>
+			<description>Reschedule meeting "Meeting 1.1bis" to the next day.</description>
+			<request>
+				<method>PUT</method>
+				<ruri>1-1_1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/2/2_3.txt</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2.4'>
+			<description>Add an attendee to "Meeting 1.1bis".</description>
+			<request>
+				<method>PUT</method>
+				<ruri>1-1_1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/2/2_4.txt</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2.5'>
+			<description>Add an alarm to "Meeting 1.1bis".</description>
+			<request>
+				<method>PUT</method>
+				<ruri>1-1_1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/2/2_5.txt</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2.6'>
+			<description>Modify the title of the 1st instance of the recurring meeting created in 1.2.</description>
+			<request>
+				<method>PUT</method>
+				<ruri>1-1_2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/2/2_6.txt</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2.7'>
+			<description>Modify the participation status of 1st instance to DECLINED.</description>
+			<request>
+				<method>PUT</method>
+				<ruri>1-1_3.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/2/2_7.txt</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2.8'>
+			<description>Cancel the 4th instance of the recurring meeting created in 1.2.</description>
+			<request>
+				<method>PUT</method>
+				<ruri>1-1_2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/2/2_8.txt</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2.9'>
+			<description>One client changes "Meeting 1.1bis" to a different time, second client 'refreshes' its display to see the modification.</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>2-2_9.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/2/2_9.txt</filepath>
+				</data>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='4. Event Deletion'>
+		<test name='4.1'>
+			<description>Delete a single non-recurring meeting.</description>
+			<request>
+				<method>PUT</method>
+				<ruri>4-4_1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/4/4_1.txt</filepath>
+				</data>
+			</request>
+			<request>
+				<method>DELETE</method>
+				<ruri>4-4_1.ics</ruri>
+			</request>
+		</test>
+		<test name='4.2'>
+			<description>Delete a single recurring meeting with no overridden instances.</description>
+			<request>
+				<method>PUT</method>
+				<ruri>4-4_2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/4/4_2.txt</filepath>
+				</data>
+			</request>
+			<request>
+				<method>DELETE</method>
+				<ruri>4-4_2.ics</ruri>
+			</request>
+		</test>
+		<test name='4.3'>
+			<description>Delete a single recurring meeting with overridden instances.</description>
+			<request>
+				<method>PUT</method>
+				<ruri>4-4_3.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/4/4_3.txt</filepath>
+				</data>
+			</request>
+			<request>
+				<method>DELETE</method>
+				<ruri>4-4_3.ics</ruri>
+			</request>
+		</test>
+		<test name='4.4'>
+			<description>Delete a non-overridden instance of a recurring meeting.</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>4-4_4.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/4/4_4a.txt</filepath>
+				</data>
+			</request>
+			<request>
+				<method>PUT</method>
+				<ruri>4-4_4.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/4/4_4b.txt</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='4.5'>
+			<description>Delete an overridden instance of a recurring meeting.</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>4-4_5.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/4/4_5a.txt</filepath>
+				</data>
+			</request>
+			<request>
+				<method>PUT</method>
+				<ruri>4-4_5.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/caldaviop/4/4_5b.txt</filepath>
+				</data>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/copymove.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/copymove.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/copymove.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,439 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<description>Test COPY/MOVE methods in CalDAV to ensure proper behaviour
+	of calendar resources wrt UIDs, server indexing etc</description>
+
+	<start>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/copymove/1.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/copymove/2.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/calendar2/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/calendar2/2_2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/copymove/2.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/copymove/3.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/calendar2/3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/copymove/3.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>4.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/copymove/4.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/calendar2/4.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/copymove/4.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>5.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/copymove/5.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>6.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/copymove/6.txt</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='COPY'>
+		<test name='1' ignore='no'>
+			<description>COPY within same calendar to new resource</description>
+			<request print-response="no">
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+						<value>409</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>COPY within same calendar to existing resource with overwrite</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>T</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+						<value>409</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>COPY within same calendar to existing resource without overwrite</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>F</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<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 print-response="no">
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>201</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5'>
+			<description>COPY to different calendar, new resource, duplicate UID</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar2/copy2_2.ics</value>
+				</header>
+				<ruri>2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+						<value>409</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6'>
+			<description>COPY to different calendar, existing resource with overwrite</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>T</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>204</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7'>
+			<description>COPY to different calendar, existing resource with overwrite, duplicate UID</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>T</value>
+				</header>
+				<ruri>2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+						<value>409</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8'>
+			<description>COPY to different calendar, existing resource without overwrite</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>F</value>
+				</header>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>412</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9'>
+			<description>COPY to different calendar, existing resource without overwrite, duplicate UID</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar2/copy2_1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>F</value>
+				</header>
+				<ruri>2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>412</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='MOVE' ignore='no'>
+		<test name='1'>
+			<description>MOVE within same calendar to new resource</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<ruri>5.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>2xx</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>MOVE within same calendar to existing resource with overwrite</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>T</value>
+				</header>
+				<ruri>6.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+						<value>409</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>MOVE within same calendar to existing resource without overwrite</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>F</value>
+				</header>
+				<ruri>3.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>412</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>MOVE to different calendar, new resource</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar2/move2_1.ics</value>
+				</header>
+				<ruri>move1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>2xx</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5'>
+			<description>MOVE to different calendar, existing resource with overwrite</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar2/3.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>T</value>
+				</header>
+				<ruri>3.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>2xx</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6'>
+			<description>MOVE to different calendar, existing resource without overwrite</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar2/4.ics</value>
+				</header>
+				<header>
+					<name>Overwrite</name>
+					<value>F</value>
+				</header>
+				<ruri>4.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>412</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end>
+		<request>
+			<method>DELETE</method>
+			<ruri>copy1.ics</ruri>
+		</request>
+		<request>
+			<method>DELETE</method>
+			<ruri>move1.ics</ruri>
+		</request>
+	</end>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/delete.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/delete.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/delete.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,85 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<description>Test DELETE method in CalDAV to ensure proper behaviour
+	of server indexing</description>
+
+	<start>
+		<request end-delete="yes" print-response="yes">
+			<method>PUT</method>
+			<ruri>1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/delete/1.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>1todo.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/todo/1.txt</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='DELETE'>
+		<test name='1'>
+			<description>DELETE existing VEVENT</description>
+			<request>
+				<method>DELETE</method>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>DELETE existing VTODO</description>
+			<request>
+				<method>DELETE</method>
+				<ruri>1todo.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>DELETE non-existing resource</description>
+			<request>
+				<method>DELETE</method>
+				<ruri>2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/depthreports.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/depthreports.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/depthreports.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,827 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<start>
+		<request end-delete="yes">
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/top-collection/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/1.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/top-collection/calendar/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/1.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/2.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/3.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/4.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/4.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/5.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/5.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/6.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/6.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/7.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/7.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/8.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/8.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/9.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/9.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/10.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/10.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/11.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/11.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/12.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/12.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/13.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/13.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/14.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/14.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar/15.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/15.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/1.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/2.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar2/16.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/16.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/top-collection/collection/</ruri>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/top-collection/collection/calendar3/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/collection/calendar3/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/2.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/collection/calendar3/10.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/10.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/collection/calendar3/17.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/reports/put/17.txt</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='multiget reports' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>multiget on calendar</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/calendar/</ruri>
+				<data substitutions='yes'>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/multiget/depth1.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>2.ics</value>
+						<value>3.ics</value>
+						<value>4.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>multiget on collection</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data substitutions='yes'>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/multiget/depth2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>calendar/1.ics</value>
+						<value>calendar/2.ics</value>
+						<value>calendar/3.ics</value>
+						<value>calendar/4.ics</value>
+						<value>calendar2/1.ics</value>
+						<value>calendar2/16.ics</value>
+						<value>collection/calendar3/2.ics</value>
+					</arg>
+					<arg>
+						<name>badhrefs</name>
+						<value>1.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>multiget on calendar resource</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/calendar/1.ics</ruri>
+				<data substitutions='yes'>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/multiget/depth3.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/top-collection/calendar/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+					</arg>
+					<arg>
+						<name>badhrefs</name>
+						<value>2.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>multiget on non calendar resource</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/1.ics</ruri>
+				<data substitutions='yes'>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/multiget/depth4.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='basic query reports' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>query on calendar with no Depth</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>10.ics</value>
+						<value>11.ics</value>
+						<value>12.ics</value>
+						<value>13.ics</value>
+						<value>14.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>query on calendar with Depth 0</description>
+			<request>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>10.ics</value>
+						<value>11.ics</value>
+						<value>12.ics</value>
+						<value>13.ics</value>
+						<value>14.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>query on calendar with Depth 1</description>
+			<request>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>10.ics</value>
+						<value>11.ics</value>
+						<value>12.ics</value>
+						<value>13.ics</value>
+						<value>14.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>query on calendar with Depth infinity</description>
+			<request>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>10.ics</value>
+						<value>11.ics</value>
+						<value>12.ics</value>
+						<value>13.ics</value>
+						<value>14.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>query on collection with no Depth</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>query on collection with Depth 0</description>
+			<request>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='7' ignore='no'>
+			<description>query on collection with Depth 1</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>calendar/1.ics</value>
+						<value>calendar/10.ics</value>
+						<value>calendar/11.ics</value>
+						<value>calendar/12.ics</value>
+						<value>calendar/13.ics</value>
+						<value>calendar/14.ics</value>
+						<value>calendar2/1.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8' ignore='no'>
+			<description>query on collection with Depth infinity</description>
+			<request>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>calendar/1.ics</value>
+						<value>calendar/10.ics</value>
+						<value>calendar/11.ics</value>
+						<value>calendar/12.ics</value>
+						<value>calendar/13.ics</value>
+						<value>calendar/14.ics</value>
+						<value>calendar2/1.ics</value>
+						<value>collection/calendar3/10.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9' ignore='no'>
+			<description>query on matching calendar resource with no Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/calendar/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/top-collection/calendar/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='10' ignore='no'>
+			<description>query on non-matching calendar resource with no Depth</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/calendar/2.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='11' ignore='no'>
+			<description>query on non calendar resource with no Depth</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/basicquery/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>4xx</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='free-busy reports' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>query for free busy on calendar with no Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/freebusy/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060107T010000Z/20060107T020000Z</value>
+						<value>20060107T150000Z/20060107T163000Z</value>
+						<value>20060108T150000Z/20060108T180000Z</value>
+						<value>20060108T190000Z/20060108T193000Z</value>
+					</arg>
+					<arg>
+						<name>unavailable</name>
+						<value>20060108T130000Z/20060108T150000Z</value>
+					</arg>
+					<arg>
+						<name>tentative</name>
+						<value>20060108T160000Z/20060108T170000Z</value>
+						<value>20060108T210000Z/20060108T213000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>query for free busy on calendar with Depth 0</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/freebusy/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060107T010000Z/20060107T020000Z</value>
+						<value>20060107T150000Z/20060107T163000Z</value>
+						<value>20060108T150000Z/20060108T180000Z</value>
+						<value>20060108T190000Z/20060108T193000Z</value>
+					</arg>
+					<arg>
+						<name>unavailable</name>
+						<value>20060108T130000Z/20060108T150000Z</value>
+					</arg>
+					<arg>
+						<name>tentative</name>
+						<value>20060108T160000Z/20060108T170000Z</value>
+						<value>20060108T210000Z/20060108T213000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>query for free busy on calendar with Depth 1</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/freebusy/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060107T010000Z/20060107T020000Z</value>
+						<value>20060107T150000Z/20060107T163000Z</value>
+						<value>20060108T150000Z/20060108T180000Z</value>
+						<value>20060108T190000Z/20060108T193000Z</value>
+					</arg>
+					<arg>
+						<name>unavailable</name>
+						<value>20060108T130000Z/20060108T150000Z</value>
+					</arg>
+					<arg>
+						<name>tentative</name>
+						<value>20060108T160000Z/20060108T170000Z</value>
+						<value>20060108T210000Z/20060108T213000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>query for free busy on calendar with Depth infinity</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/calendar/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/freebusy/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060107T010000Z/20060107T020000Z</value>
+						<value>20060107T150000Z/20060107T163000Z</value>
+						<value>20060108T150000Z/20060108T180000Z</value>
+						<value>20060108T190000Z/20060108T193000Z</value>
+					</arg>
+					<arg>
+						<name>unavailable</name>
+						<value>20060108T130000Z/20060108T150000Z</value>
+					</arg>
+					<arg>
+						<name>tentative</name>
+						<value>20060108T160000Z/20060108T170000Z</value>
+						<value>20060108T210000Z/20060108T213000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>query for free busy on collection with no Depth</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/freebusy/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>query for free busy on collection with Depth 0</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/freebusy/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='7' ignore='no'>
+			<description>query for free busy on collection with Depth 1</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/freebusy/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060107T010000Z/20060107T020000Z</value>
+						<value>20060107T150000Z/20060107T163000Z</value>
+						<value>20060108T150000Z/20060108T180000Z</value>
+						<value>20060108T190000Z/20060108T193000Z</value>
+						<value>20060108T200000Z/20060108T203000Z</value>
+					</arg>
+					<arg>
+						<name>unavailable</name>
+						<value>20060108T130000Z/20060108T170000Z</value>
+					</arg>
+					<arg>
+						<name>tentative</name>
+						<value>20060108T160000Z/20060108T173000Z</value>
+						<value>20060108T210000Z/20060108T213000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8' ignore='no'>
+			<description>query for free busy on collection with Depth infinity</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/freebusy/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060107T010000Z/20060107T020000Z</value>
+						<value>20060107T150000Z/20060107T163000Z</value>
+						<value>20060108T150000Z/20060108T180000Z</value>
+						<value>20060108T190000Z/20060108T193000Z</value>
+						<value>20060108T200000Z/20060108T210000Z</value>
+					</arg>
+					<arg>
+						<name>unavailable</name>
+						<value>20060108T130000Z/20060108T170000Z</value>
+						<value>20060108T173000Z/20060108T180000Z</value>
+					</arg>
+					<arg>
+						<name>tentative</name>
+						<value>20060108T160000Z/20060108T173000Z</value>
+						<value>20060108T210000Z/20060108T220000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9' ignore='no'>
+			<description>query for free busy on resource</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/top-collection/calendar/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/reports/freebusy/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>4xx</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/depthreportsacl.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/depthreportsacl.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/depthreportsacl.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,307 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<start>
+		<request end-delete="yes">
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/top-collection/</ruri>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/1.xml</filepath>
+			</data>
+		</request>
+		<!--  Calendar with DAV:read only -->
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/top-collection/calendar1/</ruri>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar1/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/1.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar1/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/cal1.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar1/1.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/1.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar1/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/cal2.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar1/2.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/2.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar1/3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/cal3.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar1/3.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/3.xml</filepath>
+			</data>
+		</request>
+		<!--  Calendar with no privileges -->
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar2/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/2.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/cal4.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar2/1.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/1.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/cal5.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar2/2.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/2.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar2/3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/cal6.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar2/3.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/3.xml</filepath>
+			</data>
+		</request>
+		<!--  Calendar with CALDAV:read-free-busy only -->
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/top-collection/calendar3/</ruri>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar3/</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/3.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar3/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/cal7.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar3/1.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/1.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar3/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/cal8.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar3/2.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/2.xml</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/top-collection/calendar3/3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/cal9.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>ACL</method>
+			<ruri>$pathprefix:/top-collection/calendar3/3.ics</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/depthreportsacl/3.xml</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='Reports' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>multiget on top collection</description>
+			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data substitutions='yes'>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/depthreportsacl/4.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>calendar1/1.ics</value>
+					</arg>
+					<arg>
+						<name>badhrefs</name>
+						<value>calendar1/2.ics</value>
+						<value>calendar1/3.ics</value>
+						<value>calendar2/1.ics</value>
+						<value>calendar2/2.ics</value>
+						<value>calendar2/3.ics</value>
+						<value>calendar3/1.ics</value>
+						<value>calendar3/2.ics</value>
+						<value>calendar3/3.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>query on top collection</description>
+			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data substitutions='yes'>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/depthreportsacl/5.xml</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>okhrefs</name>
+						<value>calendar1/1.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>query for free busy on collection with Depth infinity</description>
+			<request user='$userid2:' pswd='$pswd2:' print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/top-collection/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/depthreportsacl/6.xml</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060101T060000Z/20060101T070000Z</value>
+						<value>20060101T100000Z/20060101T110000Z</value>
+						<value>20060101T180000Z/20060101T190000Z</value>
+						<value>20060101T220000Z/20060101T230000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/encodedURIs.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/encodedURIs.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/encodedURIs.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,278 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<start>
+		<request end-delete='yes'>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection%201/</ruri>
+		</request>
+		<request end-delete='yes'>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/calendar%202/</ruri>
+		</request>
+		<request end-delete='yes'>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/calendar%203/</ruri>
+		</request>
+	</start>
+
+	<test-suite name='regular resource'>
+		<test name='1'>
+			<description>PUT</description>
+			<request print-response='no' end-delete='yes'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection%201/2%20a.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/recurrenceput/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>header</callback>
+					<arg>
+						<name>header</name>
+						<value>!Location</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+
+		<test name='2'>
+			<description>COPY</description>
+			<request print-response='no' end-delete='yes'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/collection%201/2_2%20a.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection%201/2%20a.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>header</callback>
+					<arg>
+						<name>header</name>
+						<value>Location$$host:$pathprefix:/collection%201/2_2%20a.ics</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<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>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value/>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>$pathprefix:/collection%201/2_2%20a.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>MOVE</description>
+			<request print-response='no' end-delete='yes'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/collection%201/2_3%20a.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection%201/2%20a.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>header</callback>
+					<arg>
+						<name>header</name>
+						<value>Location$$host:$pathprefix:/collection%201/2_3%20a.ics</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<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>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value/>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>$pathprefix:/collection%201/2_2%20a.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='calendar resource'>
+		<test name='1'>
+			<description>PUT</description>
+			<request print-response='no' end-delete='yes'>
+				<method>PUT</method>
+				<ruri>2%20a.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/recurrenceput/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>header</callback>
+					<arg>
+						<name>header</name>
+						<value>!Location</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>COPY</description>
+			<request print-response='no' end-delete='yes'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar%202/2_2%20a.ics</value>
+				</header>
+				<ruri>2%20a.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>header</callback>
+					<arg>
+						<name>header</name>
+						<value>Location$$host:$pathprefix:/calendar%202/2_2%20a.ics</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<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>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value/>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>$pathprefix:/calendar%202/2_2%20a.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>MOVE</description>
+			<request print-response='no' end-delete='yes'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar%203/2_3%20a.ics</value>
+				</header>
+				<ruri>2%20a.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>header</callback>
+					<arg>
+						<name>header</name>
+						<value>Location$$host:$pathprefix:/calendar%203/2_3%20a.ics</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<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>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value/>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>$pathprefix:/calendar%203/2_3%20a.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/errors.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/errors.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/errors.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,1105 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<description>Tests of various pre-/post-conditions</description>
+
+	<start>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/6.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/calendar2/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/calendar2/6.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/6.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/calendar2/7.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/7.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>$pathprefix:/1.xml</ruri>
+			<data>
+				<content-type>text/xml; charset=utf-8</content-type>
+				<filepath>Resource/errors/1.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>$pathprefix:/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/2.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>$pathprefix:/3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/3.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>$pathprefix:/4.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/4.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>$pathprefix:/5.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/5.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>$pathprefix:/6.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/6.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>$pathprefix:/7.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/7.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>$pathprefix:/8.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/8.txt</filepath>
+			</data>
+		</request>
+		<request end-delete="yes">
+			<method>PUT</method>
+			<ruri>$pathprefix:/9.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/errors/9.txt</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='PUT' ignore='no'>
+		<test name='1'>
+			<description>PUT non-calendar data</description>
+			<request>
+				<method>PUT</method>
+				<ruri>2.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>PUT invalid calendar data</description>
+			<request>
+				<method>PUT</method>
+				<ruri>2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/errors/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>PUT with multiple component types</description>
+			<request>
+				<method>PUT</method>
+				<ruri>2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/errors/3.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>PUT with METHOD property</description>
+			<request>
+				<method>PUT</method>
+				<ruri>2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/errors/4.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5'>
+			<description>PUT with different uids in same resource</description>
+			<request>
+				<method>PUT</method>
+				<ruri>2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/errors/5.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6'>
+			<description>PUT with duplicate uids</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/errors/6.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7'>
+			<description>PUT with different uid onto existing resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/errors/7.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8'>
+			<description>PUT with too many recurrence instances to new resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/errors/8.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9'>
+			<description>PUT with too many recurrence instances to existing resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/errors/9.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='10'>
+			<description>PUT without timezone</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/errors/28.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='COPY' ignore='no'>
+		<test name='1'>
+			<description>COPY non-calendar data</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<ruri>$pathprefix:/1.xml</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>COPY invalid calendar data</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<ruri>$pathprefix:/2.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>COPY with multiple component types</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<ruri>$pathprefix:/3.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>COPY with METHOD property</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<ruri>$pathprefix:/4.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5'>
+			<description>COPY with different uids in same resource</description>
+			<request>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<ruri>$pathprefix:/5.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6'>
+			<description>COPY with duplicate uids</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<ruri>$pathprefix:/6.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7'>
+			<description>COPY from calendar with duplicate uids</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/copy1.ics</value>
+				</header>
+				<ruri>$pathprefix:/calendar2/6.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8'>
+			<description>COPY with different uid onto existing resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/7.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9'>
+			<description>COPY from calendar with different uid onto existing resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/calendar2/7.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='10'>
+			<description>COPY with too many recurrence instances to new resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/2.ics</value>
+				</header>
+				<ruri>$pathprefix:/8.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='11'>
+			<description>COPY with too many recurrence instances to existing resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/9.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='MOVE' ignore='no'>
+		<test name='1'>
+			<description>MOVE non-calendar data</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<ruri>$pathprefix:/1.xml</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>MOVE invalid calendar data</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<ruri>$pathprefix:/2.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>MOVE with multiple component types</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<ruri>$pathprefix:/3.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>MOVE with METHOD property</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<ruri>$pathprefix:/4.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5'>
+			<description>MOVE with different uids in same resource</description>
+			<request>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<ruri>$pathprefix:/5.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-object-resource</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6'>
+			<description>MOVE with duplicate uids</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<ruri>$pathprefix:/6.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7'>
+			<description>MOVE from calendar with duplicate uids</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/move1.ics</value>
+				</header>
+				<ruri>$pathprefix:/calendar2/6.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8'>
+			<description>MOVE with different uid onto existing resource</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/7.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9'>
+			<description>MOVE from calendar with different uid onto existing resource</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/calendar2/7.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavno-uid-conflict</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='10'>
+			<description>MOVE with too many recurrence instances to new resource</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/2.ics</value>
+				</header>
+				<ruri>$pathprefix:/8.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='11'>
+			<description>MOVE with too many recurrence instances to existing resource</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$host:$pathprefix:/calendar/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/9.ics</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavnumber-of-recurrences-within-limits</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='REPORT/calendar-data' ignore='no'>
+		<test name='1'>
+			<description>query with invalid calendar-data content-type</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/10.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>query with invalid calendar-data version</description>
+			<request>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/11.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>multiget with invalid calendar-data content-type</description>
+			<request>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/12.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>multiget with invalid calendar-data version</description>
+			<request>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/13.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavsupported-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='REPORT/filter' ignore='no'>
+		<test name='1'>
+			<description>query with invalid filter</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/14.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>query with invalid filter</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/15.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>query with invalid filter</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/16.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>query with invalid filter</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/17.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5'>
+			<description>query with invalid filter</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/18.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6'>
+			<description>query with invalid filter</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/19.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7'>
+			<description>query with invalid filter</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/20.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8'>
+			<description>query with invalid filter</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/21.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9'>
+			<description>query with invalid filter</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/22.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='10'>
+			<description>query with invalid time-range (dates)</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/29.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='11'>
+			<description>query with invalid time-range (floating)</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/30.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-filter</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='12'>
+			<description>free-busy with invalid time-range (dates)</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/31.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='13'>
+			<description>free-busy with invalid time-range (floating)</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/32.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>400</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='REPORT/too big' ignore='no'>
+		<test name='1'>
+			<description>query with too many results</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/calendar.1000/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/23.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:number-of-matches-within-limits</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>multiget with too many results</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/calendar.1000/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/24.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:number-of-matches-within-limits</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>free-busy with too many results</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/calendar.1000/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/25.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:number-of-matches-within-limits</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Invalid CalDAV:timezone' ignore='no'>
+		<test name='1'>
+			<description>query with invalid timezone</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/26.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavvalid-calendar-data</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>proppatch with invalid timezone</description>
+			<request print-response='no'>
+				<method>PROPPATCH</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/errors/27.txt</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>badprops</name>
+						<value>urn:ietf:params:xml:ns:caldavcalendar-timezone</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/floating.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/floating.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/floating.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,497 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<description>Test all-day/floating tests for timezone proeprty</description>
+
+	<start>
+		<request end-delete="yes">
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/floating/</ruri>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/floating/calendar-none/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-none/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/1.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-none/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/2.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-none/3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/3.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-none/4.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/4.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-none/5.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/5.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-none/6.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/6.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-none/7.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/7.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/floating/calendar-us/</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/8.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-us/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/1.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-us/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/2.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-us/3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/3.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-us/4.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/4.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-us/5.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/5.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-us/6.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/6.txt</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/floating/calendar-us/7.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/floating/put/7.txt</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='REPORT floating behaviour - calendar without timezone'>
+		<test name='1' ignore='no'>
+			<description>REPORT on non-recurring timed/floating events: US/Eastern</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/floating/calendar-none/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/floating/calendar-none/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>3.ics</value>
+						<value>5.ics</value>
+						<value>6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>REPORT on non-recurring timed/floating events: US/Pacific</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/floating/calendar-none/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/floating/calendar-none/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>3.ics</value>
+						<value>6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>REPORT on non-recurring timed/floating events: US/Pacific</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/floating/calendar-none/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/3.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/floating/calendar-none/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>3.ics</value>
+						<value>5.ics</value>
+						<value>6.ics</value>
+						<value>7.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='REPORT floating behaviour - calendar with timezone'>
+		<test name='1' ignore='no'>
+			<description>REPORT on non-recurring timed/floating events: no timezone</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/floating/calendar-us/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/floating/calendar-us/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>3.ics</value>
+						<value>5.ics</value>
+						<value>6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>REPORT on non-recurring timed/floating events: US/Eastern</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/floating/calendar-us/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/floating/calendar-us/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>3.ics</value>
+						<value>5.ics</value>
+						<value>6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>REPORT on non-recurring timed/floating events: US/Pacific</description>
+			<request>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/floating/calendar-us/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/floating/calendar-us/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>1.ics</value>
+						<value>3.ics</value>
+						<value>6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='REPORT floating behaviour - collection'>
+		<test name='1' ignore='no'>
+			<description>REPORT on non-recurring timed/floating events: no timezone</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix:/floating/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/floating/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>calendar-none/1.ics</value>
+						<value>calendar-none/3.ics</value>
+						<value>calendar-none/5.ics</value>
+						<value>calendar-none/6.ics</value>
+						<value>calendar-us/1.ics</value>
+						<value>calendar-us/3.ics</value>
+						<value>calendar-us/5.ics</value>
+						<value>calendar-us/6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>REPORT on non-recurring timed/floating events: US/Eastern</description>
+			<request>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix:/floating/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/floating/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>calendar-none/1.ics</value>
+						<value>calendar-none/3.ics</value>
+						<value>calendar-none/5.ics</value>
+						<value>calendar-none/6.ics</value>
+						<value>calendar-us/1.ics</value>
+						<value>calendar-us/3.ics</value>
+						<value>calendar-us/5.ics</value>
+						<value>calendar-us/6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>REPORT on non-recurring timed/floating events: US/Pacific</description>
+			<request>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix:/floating/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>multistatusItems</callback>
+					<arg>
+						<name>prefix</name>
+						<value>$pathprefix:/floating/</value>
+					</arg>
+					<arg>
+						<name>okhrefs</name>
+						<value>calendar-none/1.ics</value>
+						<value>calendar-none/3.ics</value>
+						<value>calendar-none/6.ics</value>
+						<value>calendar-us/1.ics</value>
+						<value>calendar-us/3.ics</value>
+						<value>calendar-us/6.ics</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='REPORT free-busy floating behaviour'>
+		<test name='1' ignore='no'>
+			<description>free-busy on collection without timezone</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix:/floating/calendar-none/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/5.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060101T000000Z/20060101T020000Z</value>
+						<value>20060101T050000Z/20060101T060000Z</value>
+						<value>20060101T080000Z/20060101T090000Z</value>
+					</arg>
+					<arg>
+						<name>tentative</name>
+						<value>20060101T000000Z/20060102T000000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>free-busy on collection with timezone</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<ruri>$pathprefix:/floating/calendar-us/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/5.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060101T000000Z/20060101T010000Z</value>
+						<value>20060101T050000Z/20060101T070000Z</value>
+						<value>20060101T080000Z/20060101T090000Z</value>
+					</arg>
+					<arg>
+						<name>tentative</name>
+						<value>20060101T050000Z/20060102T000000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>free-busy on multiple collections with/without timezone</description>
+			<request print-response='no'>
+				<method>REPORT</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<ruri>$pathprefix:/floating/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/floating/5.txt</filepath>
+				</data>
+				<verify>
+					<callback>freeBusy</callback>
+					<arg>
+						<name>busy</name>
+						<value>20060101T000000Z/20060101T020000Z</value>
+						<value>20060101T050000Z/20060101T070000Z</value>
+						<value>20060101T080000Z/20060101T090000Z</value>
+					</arg>
+					<arg>
+						<name>tentative</name>
+						<value>20060101T000000Z/20060102T000000Z</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/mkcalendar.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/mkcalendar.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/mkcalendar.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,175 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<start/>
+	
+	<test-suite name='MKCALENDAR without body'>
+		<test name='1'>
+			<description>Simple MKCALENDAR</description>
+			<request end-delete='yes'>
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix:/caltest1/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>201</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>MKCALENDAR on existing resource</description>
+			<request>
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix:/caltest1/</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:resource-must-be-null</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>MKCALENDAR inside another calendar</description>
+			<request>
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix:/caltest1/caltest2/</ruri>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>urn:ietf:params:xml:ns:caldavcalendar-collection-location-ok</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>MKCOL inside a calendar</description>
+			<request>
+				<method>MKCOL</method>
+				<ruri>$pathprefix:/caltest1/collection/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>403</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='MKCALENDAR with body'>
+		<test name='1'>
+			<description>MKCALENDAR with correct request body</description>
+			<request end-delete='yes'>
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix:/caltest2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/mkcalendar/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>201</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>MKCALENDAR with correct request body on existing resource</description>
+			<request>
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix:/caltest2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/mkcalendar/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:resource-must-be-null</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>MKCALENDAR with incorrect request body</description>
+			<request end-delete='yes' print-response='no'>
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix:/caltest3/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/mkcalendar/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:getetag</value>
+						<value>DAV:displayname</value>
+						<value>urn:ietf:params:xml:ns:caldavcalendar-description</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/caltest3/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>MKCALENDAR with incorrect request body on existing resource</description>
+			<request>
+				<method>MKCALENDAR</method>
+				<ruri>$pathprefix:/caltest2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/mkcalendar/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>prepostcondition</callback>
+					<arg>
+						<name>error</name>
+						<value>DAV:resource-must-be-null</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/populate.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/populate.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/populate.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,48 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<populate>
+	<description>Populate a TwistedCalDAV server with user accounts.</description>
+	<path>/Users/</path>
+	
+	<account count='1'>
+		<name>User-1.10</name>
+		<calendars>
+			<name>calendar</name>
+			<datasource count='1' mode='all'>Resource/Populate/</datasource>
+		</calendars>
+	</account>
+	<account count='1'>
+		<name>User-1.100</name>
+		<calendars>
+			<name>calendar</name>
+			<datasource count='10' mode='all'>Resource/Populate/</datasource>
+		</calendars>
+	</account>
+	<account count='1'>
+		<name>User-1.1000</name>
+		<calendars>
+			<name>calendar</name>
+			<datasource count='100' mode='all'>Resource/Populate/</datasource>
+		</calendars>
+	</account>
+</populate>

Added: CalDAVTester/trunk/scripts/tests1/propfind.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/propfind.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/propfind.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,273 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<start/>
+	
+	<test-suite name='regular prop finds'>
+		<test name='1'>
+			<description>PROPFIND of basic properties depth=0</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>PROPFIND of basic properties depth=1</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>PROPFIND of basic properties depth=infinity</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>PROPFIND getcontentlength=0</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/7.txt</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:getcontentlength$</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='prop names'>
+		<test name='1'>
+			<description>PROPFIND of property names depth=0</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>PROPFIND of property names depth=1</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>PROPFIND of property names depth=infinity</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='prop all'>
+		<test name='1'>
+			<description>PROPFIND of all properties depth=0</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/3.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>PROPFIND of all properties depth=1</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>1</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/3.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>PROPFIND of all properties depth=infinity</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/3.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='prop errors'>
+		<test name='1'>
+			<description>PROPFIND with invalid elements</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/4.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>4xx</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2'>
+			<description>PROPFIND of unknown element</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/5.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>4xx</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>PROPFIND with one unknown property</description>
+			<request>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/propfinds/6.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/proppatch.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/proppatch.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/proppatch.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,165 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<start/>
+	
+	<test-suite name='prop patches'>
+		<test name='1' ignore="no">
+			<description>PROPPATCH of details: good</description>
+			<request print-response='no'>
+				<method>PROPPATCH</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/proppatches/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:details</value>
+						<value>DAV:details2</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/proppatches/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:details$My Name</value>
+						<value>DAV:details2$My Name 2</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore="no">
+			<description>PROPPATCH of details: remove it</description>
+			<request print-response='no'>
+				<method>PROPPATCH</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/proppatches/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:details</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/proppatches/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:details2$My Name 2</value>
+					</arg>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:details</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3'>
+			<description>PROPPATCH remove non-existant</description>
+			<request print-response='no'>
+				<method>PROPPATCH</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/proppatches/4.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:missing</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4'>
+			<description>PROPPATCH of resourcetype: fails</description>
+			<request print-response='no'>
+				<method>PROPPATCH</method>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/proppatches/5.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:details</value>
+						<value>DAV:details2</value>
+						<value>DAV:resourcetype</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/proppatches/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:details2$My Name 2</value>
+					</arg>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:details</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/put.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/put.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/put.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,500 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest>
+	<description>Test PUT method in CalDAV</description>
+
+	<start/>
+	
+	<test-suite name='PUT VEVENT'>
+		<test name='1' ignore='no'>
+			<description>PUT non-recurring timed event</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/recurrenceput/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>1.ics</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/recurrenceput/1.txt</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>PUT not in calendar collection</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/recurrenceput/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>$pathprefix:/1.ics</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/recurrenceput/1.txt</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Put VTODO' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Plain VTODO with no date</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>1todo.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/todo/1.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>1todo.ics</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/todo/1.txt</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>Plain VTODO with DUE only</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>2todo.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/todo/2.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>2todo.ics</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/todo/2.txt</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>Plain VTODO with DTSTART/DUARTION only</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>3todo.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/todo/3.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>3todo.ics</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/todo/3.txt</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>Plain VTODO with DTSTART only</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>4todo.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/todo/4.txt</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request>
+				<method>GET</method>
+				<ruri>4todo.ics</ruri>
+				<verify>
+					<callback>dataMatch</callback>
+					<arg>
+						<name>filepath</name>
+						<value>Resource/todo/4.txt</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='Problem VEVENTs - EXDATE &amp; various combinations of date-time/date values'>
+		<test name='1' ignore='no'>
+			<description>PUT problem event</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>3.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/1.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>DTSTART/DATE-TIME/UTC, DTEND/DATE</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>4.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/2.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>DTSTART/DATE-TIME/TZID, DTEND/DATE</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>18.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/16.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>DTSTART/DATE-TIME/Float, DTEND/DATE</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>19.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/17.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>DTSTART/DATE-TIME/UTC, DTEND/DATE-TIME/TZID</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>5.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/3.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>DTSTART/DATE-TIME/UTC, DTEND/DATE-TIME/Float</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>6.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/4.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='7' ignore='no'>
+			<description>DTSTART/DATE-TIME/TZID, DTEND/DATE-TIME/UTC</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>7.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/5.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='8' ignore='no'>
+			<description>DTSTART/DATE-TIME/TZID, DTEND/DATE-TIME/Float</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>8.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/6.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='9' ignore='no'>
+			<description>DTSTART/DATE-TIME/Float, DTEND/DATE-TIME/UTC</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>9.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/7.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='10' ignore='no'>
+			<description>DTSTART/DATE-TIME/Float, DTEND/DATE-TIME/TZID</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>10.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/8.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='Problem VTODOs - various combinations of date-time/date values'>
+		<test name='1' ignore='no'>
+			<description>DTSTART/DATE-TIME/UTC, DUE/DATE</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>11.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/9.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>DTSTART/DATE-TIME/TZID, DUE/DATE</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>20.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/18.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>DTSTART/DATE-TIME/Float, DUE/DATE</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>21.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/19.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>DTSTART/DATE, DUE/DATE-TIME/UTC</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>22.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/20.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>DTSTART/DATE, DUE/DATE-TIME/TZID</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>23.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/21.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>DTSTART/DATE, DUE/DATE-TIME/Float</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>24.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/22.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='7' ignore='no'>
+			<description>DTSTART/DATE-TIME/UTC, DUE/DATE-TIME/TZID</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>12.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/10.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='8' ignore='no'>
+			<description>DTSTART/DATE-TIME/UTC, DUE/DATE-TIME/Float</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>13.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/11.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='9' ignore='no'>
+			<description>DTSTART/DATE-TIME/TZID, DUE/DATE-TIME/UTC</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>14.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/12.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='10' ignore='no'>
+			<description>DTSTART/DATE-TIME/TZID, DUE/DATE-TIME/Float</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>15.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/13.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='11' ignore='no'>
+			<description>DTSTART/DATE-TIME/Float, DUE/DATE-TIME/UTC</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>16.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/14.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='12' ignore='no'>
+			<description>DTSTART/DATE-TIME/Float, DUE/DATE-TIME/TZID</description>
+			<request end-delete='yes'>
+				<method>PUT</method>
+				<ruri>17.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/problemics/15.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<end/>
+	
+</caldavtest>

Added: CalDAVTester/trunk/scripts/tests1/quota.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests1/quota.xml	                        (rev 0)
+++ CalDAVTester/trunk/scripts/tests1/quota.xml	2006-10-10 17:08:43 UTC (rev 264)
@@ -0,0 +1,2974 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ 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
+ -->
+
+<caldavtest ignore-all="yes">
+	<description>Test Quota support on the server</description>
+
+	<start>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/</ruri>
+		</request>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/temp/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/temp/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/1.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/temp/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/2.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/temp/3.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/3.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/temp/4.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/4.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/temp/5.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/5.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/temp/6.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/6.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/noquotacol/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/1.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/quotacol/</ruri>
+		</request>
+		<request>
+			<method>QUOTA-ENABLE-2048</method>
+			<ruri>$pathprefix:/collection/quotacol/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/1.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/quotacol/temp/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/quotacol/temp/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/1.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/quotacol/temp/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/2.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/largequotacol/</ruri>
+		</request>
+		<request>
+			<method>QUOTA-ENABLE-1048576</method><!-- 1Mb -->
+			<ruri>$pathprefix:/collection/largequotacol/</ruri>
+		</request>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/parentquotacol/</ruri>
+		</request>
+		<request>
+			<method>QUOTA-ENABLE-4096</method><!-- 4Kb -->
+			<ruri>$pathprefix:/collection/parentquotacol/</ruri>
+		</request>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
+		</request>
+		<request>
+			<method>QUOTA-ENABLE-2048</method><!-- 2Kb -->
+			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
+		</request>
+		<request>
+			<method>MKCOL</method>
+			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
+		</request>
+		<request>
+			<method>QUOTA-ENABLE-1048576</method><!-- 1Mb -->
+			<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/collection/noquotacal/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/1.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/collection/quotacal/</ruri>
+		</request>
+		<request>
+			<method>QUOTA-ENABLE-2048</method>
+			<ruri>$pathprefix:/collection/quotacal/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/1.ics</filepath>
+			</data>
+		</request>
+		<request>
+			<method>MKCALENDAR</method>
+			<ruri>$pathprefix:/collection/largequotacal/</ruri>
+		</request>
+		<request>
+			<method>QUOTA-ENABLE-1048576</method><!-- 1Mb -->
+			<ruri>$pathprefix:/collection/largequotacal/</ruri>
+		</request>
+		<request>
+			<method>PUT</method>
+			<ruri>$pathprefix:/calendar/2.ics</ruri>
+			<data>
+				<content-type>text/calendar; charset=utf-8</content-type>
+				<filepath>Resource/quota/2.ics</filepath>
+			</data>
+		</request>
+	</start>
+	
+	<test-suite name='Properties on collections' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>allprop on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>allprop on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>propname on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>propname on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>props on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+					</arg>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:quota-available-bytes</value>
+						<value>DAV:quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>props on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$118</value>
+						<value>DAV:quota-used-bytes$1930</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Properties on resources' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>allprop on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>allprop on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>propname on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>propname on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>props on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacol/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+					</arg>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:quota-available-bytes</value>
+						<value>DAV:quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>props on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$118</value>
+						<value>DAV:quota-used-bytes$1930</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Properties on calendars' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>allprop on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>allprop on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>propname on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>propname on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>props on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+					</arg>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:quota-available-bytes</value>
+						<value>DAV:quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>props on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1413</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='Properties on calendar resources' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>allprop on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>allprop on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>propname on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>notcontains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>propname on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.xml</filepath>
+				</data>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>quota-available-bytes</value>
+						<value>quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>props on non-quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/noquotacal/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+					</arg>
+					<arg>
+						<name>badprops</name>
+						<value>DAV:quota-available-bytes</value>
+						<value>DAV:quota-used-bytes</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>props on quota collection</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1413</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+	
+	<test-suite name='PUT Over quota on collection' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>over quota on quota collection with new resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/quotacol/2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>over quota on quota collection with existing resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>event_1</value>
+					</arg>
+					<arg>
+						<name>notcontains</name>
+						<value>more</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>over quota on quota sub-collection with new resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/quotacol/temp/3.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/temp/3.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>over quota on quota sub-collection with existing resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/quotacol/temp/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/temp/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>event_1</value>
+					</arg>
+					<arg>
+						<name>notcontains</name>
+						<value>more</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='PUT Over quota on calendar' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>over quota on quota calendar with new resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/quotacal/4.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/4.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacal/4.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>over quota on quota calendar with existing resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/6.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>event_1</value>
+					</arg>
+					<arg>
+						<name>notcontains</name>
+						<value>more</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='COPY resource over quota' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>over quota on quota collection with new resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/quotacol/2.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>over quota on quota collection with existing resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/quotacol/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>event_1</value>
+					</arg>
+					<arg>
+						<name>notcontains</name>
+						<value>more</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>over quota on quota collection copying collection</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/quotacol/test/</value>
+				</header>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/test/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='COPY calendar resource over quota' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>over quota on quota calendar with new resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/quotacal/4.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/4.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/4.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/temp/4.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1413</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>over quota on quota calendar with existing resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/quotacal/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/6.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacal/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+				<verify>
+					<callback>dataString</callback>
+					<arg>
+						<name>contains</name>
+						<value>event_1</value>
+					</arg>
+					<arg>
+						<name>notcontains</name>
+						<value>more</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/temp/6.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1413</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>not allowed on quota calendar copying collection</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/quotacal/test/</value>
+				</header>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>405</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacal/test/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/quotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1413</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='COPY collection over quota' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>over quota on quota collection with new collection</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/quotacol/test/</value>
+				</header>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/test/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>over quota on quota collection with existing collection</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/quotacol/temp/</value>
+				</header>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/temp/3.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>over quota on quota collection copying collection</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/quotacol/temp/test/</value>
+				</header>
+				<header>
+					<name>Depth</name>
+					<value>infinity</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/quotacol/temp/test/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='PUT/DELETE/COPY/MOVE of resource with quota update' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Initial quota values</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>PUT new resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047941</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>PUT existing resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047490</value>
+						<value>DAV:quota-used-bytes$1086</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>DELETE existing resource</description>
+			<request print-response='no'>
+				<method>DELETE</method>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>COPY new resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacol/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047941</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>COPY existing resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacol/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047490</value>
+						<value>DAV:quota-used-bytes$1086</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7' ignore='no'>
+			<description>DELETE existing resource</description>
+			<request print-response='no'>
+				<method>DELETE</method>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8' ignore='no'>
+			<description>MOVE new resource</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacol/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047941</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9' ignore='no'>
+			<description>MOVE existing resource</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacol/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047490</value>
+						<value>DAV:quota-used-bytes$1086</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='10' ignore='no'>
+			<description>DELETE existing resource</description>
+			<request print-response='no'>
+				<method>DELETE</method>
+				<ruri>$pathprefix:/collection/largequotacol/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='PUT/DELETE/COPY/MOVE of calendar resource with quota update' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Initial quota values</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+			<!-- Make sure we have the source collection files in place -->
+			<request>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.ics</filepath>
+				</data>
+			</request>
+			<request>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.ics</filepath>
+				</data>
+			</request>
+			<request>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.ics</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>PUT new resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047941</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>PUT existing resource</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047490</value>
+						<value>DAV:quota-used-bytes$1086</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>DELETE existing resource</description>
+			<request print-response='no'>
+				<method>DELETE</method>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>COPY new resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacal/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047941</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='6' ignore='no'>
+			<description>COPY existing resource</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacal/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047490</value>
+						<value>DAV:quota-used-bytes$1086</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='7' ignore='no'>
+			<description>DELETE existing resource</description>
+			<request print-response='no'>
+				<method>DELETE</method>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='8' ignore='no'>
+			<description>MOVE new resource</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacal/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047941</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='9' ignore='no'>
+			<description>MOVE existing resource</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacal/1.ics</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1047490</value>
+						<value>DAV:quota-used-bytes$1086</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='10' ignore='no'>
+			<description>DELETE existing resource</description>
+			<request print-response='no'>
+				<method>DELETE</method>
+				<ruri>$pathprefix:/collection/largequotacal/1.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacal/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='COPY/MOVE/DELETE of collection with quota update' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Initial quota values</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+			<!-- Make sure we have the source collection files in place -->
+			<request>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/temp/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.ics</filepath>
+				</data>
+			</request>
+			<request>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/temp/2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.ics</filepath>
+				</data>
+			</request>
+			<request>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/temp/3.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.ics</filepath>
+				</data>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>COPY new collection</description>
+			<request print-response='no'>
+				<method>COPY</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacol/test/</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1033552</value>
+						<value>DAV:quota-used-bytes$15024</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>DELETE existing collection</description>
+			<request print-response='no'>
+				<method>DELETE</method>
+				<ruri>$pathprefix:/collection/largequotacol/test/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>MOVE new collection</description>
+			<request print-response='no'>
+				<method>MOVE</method>
+				<header>
+					<name>Destination</name>
+					<value>$pathprefix:/collection/largequotacol/test/</value>
+				</header>
+				<ruri>$pathprefix:/collection/temp/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1033552</value>
+						<value>DAV:quota-used-bytes$15024</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>DELETE existing resource</description>
+			<request print-response='no'>
+				<method>DELETE</method>
+				<ruri>$pathprefix:/collection/largequotacol/test/</ruri>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/largequotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+	</test-suite>
+
+	<test-suite name='PUT with nested over quota' ignore='no'>
+		<test name='1' ignore='no'>
+			<description>Initial quota values</description>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$4096</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$2048</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='2' ignore='no'>
+			<description>PUT small resource below nested and below parent quota</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/1.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/1.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$3461</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1413</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='3' ignore='no'>
+			<description>PUT smallish resource above nested but below parent quota</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/4.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/4.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>507</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>GET</method>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/4.ics</ruri>
+				<verify>
+					<callback>statusCode</callback>
+					<arg>
+						<name>status</name>
+						<value>404</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$3461</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1413</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1048576</value>
+						<value>DAV:quota-used-bytes$0</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='4' ignore='no'>
+			<description>PUT smallish resource below nested (2) and below parent quota</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/4.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/4.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$426</value>
+						<value>DAV:quota-used-bytes$3670</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1413</value>
+						<value>DAV:quota-used-bytes$635</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1045541</value>
+						<value>DAV:quota-used-bytes$3035</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='5' ignore='no'>
+			<description>PUT small resource below nested but above parent quota</description>
+			<request print-response='no'>
+				<method>PUT</method>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/2.ics</ruri>
+				<data>
+					<content-type>text/calendar; charset=utf-8</content-type>
+					<filepath>Resource/quota/2.ics</filepath>
+				</data>
+				<verify>
+					<callback>statusCode</callback>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$0</value>
+						<value>DAV:quota-used-bytes$4330</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol1/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$753</value>
+						<value>DAV:quota-used-bytes$1295</value>
+					</arg>
+				</verify>
+			</request>
+			<request print-response='no'>
+				<method>PROPFIND</method>
+				<header>
+					<name>Depth</name>
+					<value>0</value>
+				</header>
+				<ruri>$pathprefix:/collection/parentquotacol/nestedquotacol2/</ruri>
+				<data>
+					<content-type>text/xml; charset=utf-8</content-type>
+					<filepath>Resource/quota/3.xml</filepath>
+				</data>
+				<verify>
+					<callback>propfindItems</callback>
+					<arg>
+						<name>okprops</name>
+						<value>DAV:resourcetype</value>
+						<value>DAV:quota-available-bytes$1045541</value>
+						<value>DAV:quota-used-bytes$3035</value>
+					</arg>
+				</verify>
+			</request>
+		</test>
+		<test name='