[CalendarServer-changes] [12166] CalDAVTester/trunk/scripts/tests-pod/CalDAV/sharing-reports-query. xml
source_changes at macosforge.org
source_changes at macosforge.org
Wed Mar 12 11:23:24 PDT 2014
Revision: 12166
http://trac.calendarserver.org//changeset/12166
Author: cdaboo at apple.com
Date: 2013-12-20 07:57:11 -0800 (Fri, 20 Dec 2013)
Log Message:
-----------
Checkpoint: cross-pod query/freebusy report tests.
Added Paths:
-----------
CalDAVTester/trunk/scripts/tests-pod/CalDAV/sharing-reports-query.xml
Added: CalDAVTester/trunk/scripts/tests-pod/CalDAV/sharing-reports-query.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests-pod/CalDAV/sharing-reports-query.xml (rev 0)
+++ CalDAVTester/trunk/scripts/tests-pod/CalDAV/sharing-reports-query.xml 2013-12-20 15:57:11 UTC (rev 12166)
@@ -0,0 +1,2989 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE caldavtest SYSTEM "caldavtest.dtd">
+
+<!--
+ Copyright (c) 2006-2013 Apple Inc. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<caldavtest>
+ <require-feature>
+ <feature>caldav</feature>
+ </require-feature>
+
+ <start>
+ <request user="$userid1:" pswd="$pswd1:">
+ <method>DELETEALL</method>
+ <ruri>$notificationpath1:/</ruri>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>DELETEALL</method>
+ <ruri>$pnotificationpath2:/</ruri>
+ </request>
+ <request end-delete="yes">
+ <method>MKCALENDAR</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request end-delete="yes">
+ <method>MKCALENDAR</method>
+ <ruri>$calendarhome1:/shared-tasks/</ruri>
+ <data>
+ <content-type>application/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/MKCALENDAR/vtodo.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>POST</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharinginvite2-pod.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>WAITCOUNT 1</method>
+ <ruri>$pnotificationpath2:/</ruri>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>GETNEW</method>
+ <ruri>$pnotificationpath2:/</ruri>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
+ <variable>$inviteuid2:</variable>
+ </grabelement>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>POST</method>
+ <ruri>$pcalendarhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>application/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharingreply2-pod.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>{DAV:}href</name>
+ <variable>basename($shareecalendar2:)</variable>
+ </grabelement>
+ <grabelement>
+ <name>{DAV:}href</name>
+ <variable>$shareecalendarpath2:</variable>
+ </grabelement>
+ </request>
+ <request>
+ <method>POST</method>
+ <ruri>$calendarhome1:/shared-tasks/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharinginvite2-pod.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>WAITCOUNT 2</method>
+ <ruri>$pnotificationpath2:/</ruri>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>GETNEW</method>
+ <ruri>$pnotificationpath2:/</ruri>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>{http://calendarserver.org/ns/}invite-notification/{http://calendarserver.org/ns/}uid</name>
+ <variable>$inviteuid2:</variable>
+ </grabelement>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>POST</method>
+ <ruri>$pcalendarhome2:/</ruri>
+ <data substitutions='yes'>
+ <content-type>application/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharingreply2-pod.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ <grabelement>
+ <name>{DAV:}href</name>
+ <variable>basename($shareetasks2:)</variable>
+ </grabelement>
+ <grabelement>
+ <name>{DAV:}href</name>
+ <variable>$shareetaskspath2:</variable>
+ </grabelement>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/1.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/1.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/2.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/2.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/3.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/3.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/4.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/4.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/5.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/5.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/6.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/6.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/7.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/7.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/8.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/8.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/9.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/9.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/10.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/10.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/11.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/11.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/12.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/12.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/13.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/13.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/14.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/14.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/15.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/15.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/18.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/18.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/19.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/19.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/20.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/20.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/21.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/21.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/22.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/22.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/27.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/27.ics</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareetaskspath2:/101.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/101.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareetaskspath2:/102.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/102.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareetaskspath2:/103.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/103.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareetaskspath2:/104.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/104.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareetaskspath2:/105.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/105.txt</filepath>
+ </data>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>PUT</method>
+ <ruri>$shareetaskspath2:/106.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/106.txt</filepath>
+ </data>
+ </request>
+ </start>
+
+ <test-suite name='basic query reports' ignore='no'>
+ <test name='1a' ignore='no'>
+ <description>query for resources with VCALENDAR & VEVENT defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>
+ <value>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>27.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='1b' ignore='no'>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for resources with VCALENDAR & VEVENT defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/1.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2a' ignore='no'>
+ <description>query for resources with VCALENDAR & VEVENT not defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/8.txt</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <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>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2b' ignore='no'>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for resources with VCALENDAR & VEVENT not defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/8.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='3' ignore='no'>
+ <description>query for resources where the SUMMARY in a VEVENT contains the character '1'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>
+ <value>18.ics</value>
+ <value>20.ics</value>
+ <value>21.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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>
+ <value>19.ics</value>
+ <value>22.ics</value>
+ <value>27.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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>
+ <value>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>27.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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.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' and 'Moun'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/5.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='10' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for resources that have a DTSTART in a VEVENT that contains a TZID parameter containing the text 'Paci' or 'Moun'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/16.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>2.ics</value>
+ <value>3.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='11' ignore='no'>
+ <description>query for resources where the SUMMARY in a VEVENT contains the character '4' and has a DTSTART in a VEVENT that contains a TZID parameter containing the text 'East'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/6.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>12.ics</value>
+ <value>22.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='12' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for resources where the SUMMARY in a VEVENT contains the character '2' or has a DTSTART in a VEVENT that contains a TZID parameter containing the text 'East'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/17.xml</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>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>27.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='13' ignore='no'>
+ <description>query for resources where the RECURRENCE-ID in a VEVENT does not contain a RANGE parameter</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/11.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>6.ics</value>
+ <value>22.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='14a' ignore='no'>
+ <description>query for resources with VCALENDAR & VTODO defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/101.txt</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <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>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='14b' ignore='no'>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for resources with VCALENDAR & VTODO defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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='15' ignore='no'>
+ <description>query for resources where the SUMMARY in a VTODO contains the character '1'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/102.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>101.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='16' ignore='no'>
+ <description>query for resources that have a DUE in a VTODO that contains a TZID parameter containing the text 'East'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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='17a' ignore='no'>
+ <description>query for resources with VCALENDAR & VEVENT and VTODO defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/201.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='17b' ignore='no'>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for resources with VCALENDAR & VEVENT and VTODO defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/201.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='18a' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for resources with VCALENDAR & VEVENT or VTODO defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/204.xml</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <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>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.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>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <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>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>27.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='18b' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for resources with VCALENDAR & VEVENT or VTODO defined</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/204.xml</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='19a' ignore='no'>
+ <description>query for resources where the SUMMARY in a VEVENT and VTODO contains the character '1'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/202.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='19b' ignore='no'>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for resources where the SUMMARY in a VEVENT and VTODO contains the character '1'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/202.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='20a' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for resources where the SUMMARY in a VEVENT or VTODO contains the character '1'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/205.xml</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <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>18.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>101.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <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>18.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='20b' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for resources where the SUMMARY in a VEVENT or VTODO contains the character '1'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/205.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>101.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='21' ignore='no'>
+ <description>query for resources that have a DTSTART in a VEVENT with TZID containg 'Paci' and a DUE in a VTODO with TZID containing 'East'</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/203.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='22a' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/206.xml</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <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>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>3.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='22b' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/206.xml</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='23' ignore='no'>
+ <description>query for VEVENTs that do not contain VALARMs</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>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>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>27.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='24' ignore='no'>
+ <description>query for VEVENTs that contain a CATEGORY and filter by CATEGORY</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/13.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>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='25' ignore='no'>
+ <description>query for VEVENTs that contain a CATEGORY but test with uppercase string</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/14.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>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='26' ignore='no'>
+ <description>empty query</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/15.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='27' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTs that contain a UID starts with</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/18.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>4.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='28' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTs that contain a UID ends with</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/19.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>14.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='29' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTs that contain a UID equals</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/20.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='30' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTs that contain a UID contains</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/21.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>10.ics</value>
+ <value>11.ics</value>
+ <value>12.ics</value>
+ <value>13.ics</value>
+ <value>14.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='31' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTs that contain a SUMMARY starts with</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/22.xml</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>18.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='32' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTs that contain a SUMMARY ends with</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/23.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.ics</value>
+ <value>11.ics</value>
+ <value>18.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='33' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTs that contain a SUMMARY equals</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/24.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>2.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='34' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTs that contain a SUMMARY contains</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/basicquery/25.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>2.ics</value>
+ <value>22.ics</value>
+ <value>27.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='query reports with filtered data' ignore='no'>
+ <test name='1' ignore='no'>
+ <description>query for resources with VCALENDAR & VEVENT defined - return filtered data</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/filtereddata/1.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <callback>dataString</callback>
+ <arg>
+ <name>notcontains</name>
+ <value>DTSTAMP</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2' ignore='no'>
+ <description>query for resources with VCALENDAR & VEVENT defined - return filtered data</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/filtereddata/2.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <callback>dataString</callback>
+ <arg>
+ <name>notcontains</name>
+ <value>DTSTAMP</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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>
+ <value>19.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2' ignore='no'>
+ <description>query for VEVENT and VFREEBUSYs that have a CREATED/DTSTAMP within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/2.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='3' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENT or VFREEBUSYs that have a CREATED/DTSTAMP within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/14.xml</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <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>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <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>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='4' ignore='no'>
+ <description>query for VEVENTs within time range with specific SUMMARY text</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/3.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>1.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='5' ignore='no'>
+ <description>query for VEVENT recurrence instance within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/4.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 instance within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/5.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>6.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='7' ignore='no'>
+ <description>query for overridden VEVENT not within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/6.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='8' ignore='no'>
+ <description>query for overridden this-and-future VEVENT within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/7.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>7.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='9' ignore='no'>
+ <description>query for VTODOs within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/101.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>101.ics</value>
+ <value>102.ics</value>
+ <value>103.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='10' ignore='no'>
+ <description>query for VTODOs within time range with specific SUMMARY text</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/102.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>102.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='11' ignore='no'>
+ <description>query for VTODO recurrence instance within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/103.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>101.ics</value>
+ <value>105.ics</value>
+ <value>106.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='12' ignore='no'>
+ <description>Invalid VTIMEZONE check</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/104.xml</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}valid-calendar-data</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='13' ignore='no'>
+ <description>query for VEVENTs within time range in distant future</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/8.txt</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='14' ignore='no'>
+ <description>query for VEVENTs within time range - no end</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/9.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <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>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>27.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='15' ignore='no'>
+ <description>query for VEVENTs within time range - no start</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/10.xml</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>19.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='16' ignore='no'>
+ <description>query for VEVENTs within time range - no start and no end</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/11.xml</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ <arg>
+ <name>status</name>
+ <value>400</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='17' ignore='yes'> <!-- RRULE's now truncated -->
+ <description>query for VEVENTs within time range - too many</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/12.xml</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}number-of-recurrences-within-limits</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='18' ignore='no'>
+ <description>query for free busy with overlapping and consecutive events</description>
+ <request end-delete="yes">
+ <method>PUT</method>
+ <ruri>$calendarhome1:/shared/23.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/23.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/13.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>23.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='19a' ignore='no'>
+ <description>query for VEVENTS and VTODOs within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/201.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='19b' ignore='no'>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for VEVENTS and VTODOs within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/201.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='20a' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTS or VTODOs within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/204.xml</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>5.ics</value>
+ <value>6.ics</value>
+ <value>7.ics</value>
+ <value>19.ics</value>
+ <value>101.ics</value>
+ <value>102.ics</value>
+ <value>103.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>5.ics</value>
+ <value>6.ics</value>
+ <value>7.ics</value>
+ <value>19.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='20b' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for VEVENTS or VTODOs within time range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/204.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>101.ics</value>
+ <value>102.ics</value>
+ <value>103.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='21a' ignore='no'>
+ <description>query for VEVENTS and VTODOs with start only</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/202.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='21b' ignore='no'>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for VEVENTS and VTODOs with start only</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/202.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='22a' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTS or VTODOs with start only</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/205.xml</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <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>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>23.ics</value>
+ <value>27.ics</value>
+ <value>101.ics</value>
+ <value>104.ics</value>
+ <value>105.ics</value>
+ <value>106.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <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>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>23.ics</value>
+ <value>27.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='22b' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for VEVENTS or VTODOs with start only</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/205.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>101.ics</value>
+ <value>104.ics</value>
+ <value>105.ics</value>
+ <value>106.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='23a' ignore='no'>
+ <description>query for VEVENTS with start only and all VTODOs</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/203.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='23b' ignore='no'>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for VEVENTS with start only and all VTODOs</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/203.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='24a' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ </require-feature>
+ <description>query for VEVENTS with start only or all VTODOs</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/206.xml</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <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>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>23.ics</value>
+ <value>27.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>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <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>18.ics</value>
+ <value>19.ics</value>
+ <value>20.ics</value>
+ <value>21.ics</value>
+ <value>22.ics</value>
+ <value>23.ics</value>
+ <value>27.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='24b' ignore='no'>
+ <require-feature>
+ <feature>query-extended</feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <description>query for VEVENTS with start only or all VTODOs</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/206.xml</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='25' ignore='no'>
+ <require-feature>
+ <feature>timerange-low-limit</feature>
+ </require-feature>
+ <description>query with both start/end below lower limit</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/15.xml</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}min-date-time</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='26' ignore='no'>
+ <require-feature>
+ <feature>timerange-low-limit</feature>
+ </require-feature>
+ <description>query with start only below lower limit</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/16.xml</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}min-date-time</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='27' ignore='no'>
+ <require-feature>
+ <feature>timerange-low-limit</feature>
+ </require-feature>
+ <description>query with end only below lower limit</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/17.xml</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}min-date-time</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='28' ignore='no'>
+ <require-feature>
+ <feature>timerange-high-limit</feature>
+ </require-feature>
+ <description>query with both start/end above upper limit</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/18.xml</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}max-date-time</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='29' ignore='no'>
+ <require-feature>
+ <feature>timerange-high-limit</feature>
+ </require-feature>
+ <description>query with start only above upper limit</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/19.xml</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}max-date-time</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='30' ignore='no'>
+ <require-feature>
+ <feature>timerange-high-limit</feature>
+ </require-feature>
+ <description>query with end only above upper limit</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/20.xml</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}max-date-time</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='31' ignore='no'>
+ <require-feature>
+ <feature>timerange-high-limit</feature>
+ </require-feature>
+ <description>query with start lower, end above upper limit</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/timerangequery/18.xml</filepath>
+ </data>
+ <verify>
+ <callback>prepostcondition</callback>
+ <arg>
+ <name>error</name>
+ <value>{urn:ietf:params:xml:ns:caldav}max-date-time</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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareetaskspath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/freebusy/1.txt</filepath>
+ </data>
+ <verify>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>busy</name>
+ <value>$now.year.1:0101T150000Z/$now.year.1:0101T160000Z</value>
+ <value>$now.year.1:0101T180000Z/$now.year.1:0101T190000Z</value>
+ <value>$now.year.1:0101T210000Z/$now.year.1:0101T220000Z</value>
+ <value>$now.year.1:0101T230000Z/$now.year.1:0102T000000Z</value>
+ <value>$now.year.1:0102T150000Z/$now.year.1:0102T160000Z</value>
+ <value>$now.year.1:0103T150000Z/$now.year.1:0103T160000Z</value>
+ <value>$now.year.1:0104T150000Z/$now.year.1:0104T160000Z</value>
+ <value>$now.year.1:0102T190000Z/$now.year.1:0102T200000Z</value>
+ <value>$now.year.1:0103T190000Z/$now.year.1:0103T200000Z</value>
+ <value>$now.year.1:0104T210000Z/$now.year.1:0104T220000Z</value>
+ <value>$now.year.1:0102T230000Z/$now.year.1:0103T000000Z</value>
+ <value>$now.year.1:0103T230000Z/$now.year.1:0104T000000Z</value>
+ </arg>
+ </verify>
+ <verify>
+ <callback>dataString</callback>
+ <arg>
+ <name>notcontains</name>
+ <value>METHOD:REPLY</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='2' ignore='no'>
+ <description>query for free busy with overlapping and consecutive events</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/freebusy/2.txt</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>busy</name>
+ <value>$now.year.1:0107T010000Z/$now.year.1:0107T020000Z</value>
+ <value>$now.year.1:0107T150000Z/$now.year.1:0107T163000Z</value>
+ <value>$now.year.1:0108T150000Z/$now.year.1:0108T180000Z</value>
+ <value>$now.year.1:0108T190000Z/$now.year.1:0108T193000Z</value>
+ </arg>
+ <arg>
+ <name>unavailable</name>
+ <value>$now.year.1:0108T130000Z/$now.year.1:0108T150000Z</value>
+ </arg>
+ <arg>
+ <name>tentative</name>
+ <value>$now.year.1:0108T160000Z/$now.year.1:0108T170000Z</value>
+ <value>$now.year.1:0108T210000Z/$now.year.1:0108T213000Z</value>
+ </arg>
+ </verify>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <callback>freeBusy</callback>
+ <arg>
+ <name>busy</name>
+ <value>$now.year.1:0107T010000Z/$now.year.1:0107T020000Z</value>
+ <value>$now.year.1:0107T150000Z/$now.year.1:0107T163000Z</value>
+ <value>$now.year.1:0108T150000Z/$now.year.1:0108T170000Z</value>
+ </arg>
+ <arg>
+ <name>tentative</name>
+ <value>$now.year.1:0108T160000Z/$now.year.1:0108T170000Z</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>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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 host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>
+ <value>19.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='4' ignore='no'>
+ <description>time-range query with expand over different range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/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>
+ <value>19.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='5' ignore='no'>
+ <description>query with limit-freebusy-set</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/limitexpand/5.txt</filepath>
+ </data>
+ <verify>
+ <exclude-feature>
+ <feature>split-calendars</feature>
+ </exclude-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>15.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <require-feature>
+ <feature>split-calendars</feature>
+ </require-feature>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='6' ignore='no'>
+ <description>query with expand all-day - no timezone no match</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/limitexpand/6.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='7' ignore='no'>
+ <description>query with expand all-day non-recurring - no timezone match</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/limitexpand/12.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>27.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <callback>dataString</callback>
+ <arg>
+ <name>contains</name>
+ <value>VEVENT</value>
+ <value>DTSTART;VALUE=DATE:$now.year.2:1015</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='8' ignore='no'>
+ <description>query with expand all-day recurring - no timezone match</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/limitexpand/13.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>18.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <callback>dataString</callback>
+ <arg>
+ <name>contains</name>
+ <value>VEVENT</value>
+ <value>DTSTART;VALUE=DATE:$now.year.2:1017</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='9' ignore='no'>
+ <description>query with expand all-day - timezone</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/limitexpand/7.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>18.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <callback>dataString</callback>
+ <arg>
+ <name>contains</name>
+ <value>VEVENT</value>
+ <value>DTSTART;VALUE=DATE:$now.year.2:1017</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='10' ignore='no'>
+ <description>query with expand all-day - recurrence</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/limitexpand/10.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>18.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <callback>dataString</callback>
+ <arg>
+ <name>contains</name>
+ <value>VEVENT</value>
+ <value>DTSTART;VALUE=DATE:$now.year.2:1017</value>
+ <value>DTSTART;VALUE=DATE:$now.year.2:1018</value>
+ <value>RECURRENCE-ID;VALUE=DATE:$now.year.2:1018</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='11' ignore='no'>
+ <description>time-range query with expand for one event - DURATION test</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/limitexpand/8.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>6.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <callback>dataString</callback>
+ <arg>
+ <name>contains</name>
+ <value>DTSTART:$now.year.1:0102T190000Z</value>
+ <value>DURATION:PT1H</value>
+ <value>RECURRENCE-ID:$now.year.1:0103T190000Z</value>
+ <value>DTSTART:$now.year.1:0103T190000Z</value>
+ <value>RECURRENCE-ID:$now.year.1:0104T190000Z</value>
+ <value>DTSTART:$now.year.1:0104T210000Z</value>
+ </arg>
+ <arg>
+ <name>notcontains</name>
+ <value>VTIMEZONE</value>
+ <value>DTSTART:$now.year.1:0104T190000Z</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='12' ignore='no'>
+ <description>time-range query with expand for one recurring event skipping cancelled first instance</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:" end-delete="yes">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/24.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/24.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:" end-delete="yes">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/25.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/25.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/limitexpand/9.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>okhrefs</name>
+ <value>19.ics</value>
+ <value>24.ics</value>
+ <value>25.ics</value>
+ </arg>
+ </verify>
+ <verify>
+ <callback>dataString</callback>
+ <arg>
+ <name>contains</name>
+ <value>RECURRENCE-ID:$now.year.3:0102T170000Z</value>
+ <value>RECURRENCE-ID:$now.year.3:0103T170000Z</value>
+ <value>RECURRENCE-ID:$now.year.3:0104T170000Z</value>
+ <value>RECURRENCE-ID:$now.year.3:0102T190000Z</value>
+ </arg>
+ <arg>
+ <name>notcontains</name>
+ <value>DTSTART:$now.year.3:0101T170000Z</value>
+ <value>RECURRENCE-ID:$now.year.3:0101T170000Z</value>
+ <value>RECURRENCE-ID:$now.year.3:0101T190000Z</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='13' ignore='no'>
+ <description>time-range query with expand for one recurring event shifted into time-range</description>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:" end-delete="yes">
+ <method>PUT</method>
+ <ruri>$shareecalendarpath2:/26.ics</ruri>
+ <data>
+ <content-type>text/calendar; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/put/26.ics</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request host2="yes" user="$puserid2:" pswd="$ppswd2:">
+ <method>REPORT</method>
+ <ruri>$shareecalendarpath2:/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/CalDAV/reports/limitexpand/11.xml</filepath>
+ </data>
+ <verify>
+ <callback>multistatusItems</callback>
+ <arg>
+ <name>ignoremissing</name>
+ <value/>
+ </arg>
+ <arg>
+ <name>okhrefs</name>
+ <value>26.ics</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <end/>
+
+</caldavtest>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/673dc07a/attachment.html>
More information about the calendarserver-changes
mailing list