[CalendarServer-changes] [14021] CalDAVTester/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Tue Sep 30 01:05:21 PDT 2014
Revision: 14021
http://trac.calendarserver.org//changeset/14021
Author: cdaboo at apple.com
Date: 2014-09-30 01:05:21 -0700 (Tue, 30 Sep 2014)
Log Message:
-----------
More complex tests of changes to shared groups.
Added Paths:
-----------
CalDAVTester/trunk/Resource/Common/POST/sharing-invite1-ro.xml
CalDAVTester/trunk/scripts/tests/CalDAV/sharing-groups-changes.xml
Added: CalDAVTester/trunk/Resource/Common/POST/sharing-invite1-ro.xml
===================================================================
--- CalDAVTester/trunk/Resource/Common/POST/sharing-invite1-ro.xml (rev 0)
+++ CalDAVTester/trunk/Resource/Common/POST/sharing-invite1-ro.xml 2014-09-30 08:05:21 UTC (rev 14021)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<CS:share xmlns:D="DAV:" xmlns:CS="http://calendarserver.org/ns/">
+ <CS:set>
+ <D:href>$sharee:</D:href>
+ <CS:summary>My Shared Calendar</CS:summary>
+ <CS:read/>
+ </CS:set>
+</CS:share>
Added: CalDAVTester/trunk/scripts/tests/CalDAV/sharing-groups-changes.xml
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/sharing-groups-changes.xml (rev 0)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/sharing-groups-changes.xml 2014-09-30 08:05:21 UTC (rev 14021)
@@ -0,0 +1,713 @@
+<?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 ignore-all="yes">
+ <description>Test calendar sharing to groups which change</description>
+
+ <require-feature>
+ <feature>caldav</feature>
+ <feature>shared-calendars</feature>
+ <feature>share-calendars-to-groups</feature>
+ </require-feature>
+
+ <start>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>DELETEALL</method>
+ <ruri>$notificationpath1:/</ruri>
+ <ruri>$notificationpath2:/</ruri>
+ </request>
+ <request end-delete="yes">
+ <method>MKCALENDAR</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>PROPPATCH</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPPATCH/calendar-transp-opaque.xml</filepath>
+ </data>
+ </request>
+ <request end-delete="yes">
+ <method>MKCALENDAR</method>
+ <ruri>$calendarhome1:/shared2/</ruri>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>PROPPATCH</method>
+ <ruri>$calendarhome1:/shared2/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPPATCH/calendar-transp-opaque.xml</filepath>
+ </data>
+ </request>
+ </start>
+
+ <test-suite name='Share calendar to empty group read-write'>
+ <test name='1'>
+ <description>POST invitation</description>
+ <request>
+ <method>POST</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharing-invite1-ro.xml</filepath>
+ <substitute>
+ <name>$sharee:</name>
+ <value>$gcuaddrurn20:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>Original calendar unchanged</description>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPFIND/invite.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]</value>
+ </arg>
+ <arg>
+ <name>notexists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>Add group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controladdmember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>Original calendar unchanged</description>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPFIND/invite.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='5'>
+ <description>Remove group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlremovemember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='6'>
+ <description>Original calendar unchanged</description>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPFIND/invite.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]</value>
+ </arg>
+ <arg>
+ <name>notexists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <test-suite name='Share calendar to two groups with same member'>
+ <test name='1'>
+ <description>Add group members</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controladdmember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controladdmember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid21:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>POST invitations</description>
+ <request>
+ <method>POST</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharing-invite1-ro.xml</filepath>
+ <substitute>
+ <name>$sharee:</name>
+ <value>$gcuaddrurn20:</value>
+ </substitute>
+ </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/sharing-invite1.xml</filepath>
+ <substitute>
+ <name>$sharee:</name>
+ <value>$gcuaddrurn21:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>Original calendar changed</description>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPFIND/invite.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]/../{$CS:}access/{$CS:}read</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]/../{$CS:}access/{$CS:}read-write</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]/../{$CS:}access/{$CS:}read-write</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>Remove group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlremovemember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid21:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='5'>
+ <description>Original calendar unchanged</description>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPFIND/invite.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]/../{$CS:}access/{$CS:}read</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]/../{$CS:}access/{$CS:}read-write</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]/../{$CS:}access/{$CS:}read</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='6'>
+ <description>Remove group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlremovemember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+
+ <test-suite name='Share two calendars to two groups with same member'>
+ <test name='1'>
+ <description>Add group members</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controladdmember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controladdmember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid21:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='2'>
+ <description>POST invitations</description>
+ <request>
+ <method>POST</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharing-invite1-ro.xml</filepath>
+ <substitute>
+ <name>$sharee:</name>
+ <value>$gcuaddrurn20:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request>
+ <method>POST</method>
+ <ruri>$calendarhome1:/shared2/</ruri>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/sharing-invite1.xml</filepath>
+ <substitute>
+ <name>$sharee:</name>
+ <value>$gcuaddrurn21:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='3'>
+ <description>Original calendars changed</description>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPFIND/invite.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]/../{$CS:}access/{$CS:}read</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]/../{$CS:}access/{$CS:}read</value>
+ </arg>
+ <arg>
+ <name>notexists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]</value>
+ </arg>
+ </verify>
+ </request>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/shared2/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPFIND/invite.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]/../{$CS:}access/{$CS:}read-write</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]/../{$CS:}access/{$CS:}read-write</value>
+ </arg>
+ <arg>
+ <name>notexists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='4'>
+ <description>Remove group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlremovemember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid21:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ <test name='5'>
+ <description>Calendar unchanged</description>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPFIND/invite.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]/../{$CS:}access/{$CS:}read</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]/../{$CS:}access/{$CS:}read</value>
+ </arg>
+ <arg>
+ <name>notexists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='6'>
+ <description>Calendar changed</description>
+ <request>
+ <method>PROPFIND</method>
+ <ruri>$calendarhome1:/shared/</ruri>
+ <header>
+ <name>Depth</name>
+ <value>0</value>
+ </header>
+ <data>
+ <content-type>text/xml; charset=utf-8</content-type>
+ <filepath>Resource/Common/PROPFIND/invite.xml</filepath>
+ </data>
+ <verify>
+ <callback>xmlElementMatch</callback>
+ <arg>
+ <name>exists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn21:]/../{$CS:}access/{$CS:}read-write</value>
+ </arg>
+ <arg>
+ <name>notexists</name>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$gcuaddrurn20:]</value>
+ <value>$verify-property-prefix:/{$CS:}invite/{$CS:}user/{DAV:}href[=$cuaddrurn2:]</value>
+ </arg>
+ </verify>
+ </request>
+ </test>
+ <test name='7'>
+ <description>Remove group member</description>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlremovemember.json</filepath>
+ <substitute>
+ <name>$controlgroup:</name>
+ <value>$groupguid20:</value>
+ </substitute>
+ <substitute>
+ <name>$controlmember:</name>
+ <value>$userguid2:</value>
+ </substitute>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>POST</method>
+ <ruri>/control</ruri>
+ <data>
+ <content-type>application/json; charset=utf-8</content-type>
+ <filepath>Resource/Common/POST/controlgrouprefresh.json</filepath>
+ </data>
+ <verify>
+ <callback>statusCode</callback>
+ </verify>
+ </request>
+ </test>
+ </test-suite>
+
+ <end>
+ <request user="$useradmin:" pswd="$pswdadmin:">
+ <method>DELETEALL</method>
+ <ruri>$notificationpath1:/</ruri>
+ <ruri>$notificationpath2:/</ruri>
+ </request>
+ </end>
+
+</caldavtest>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140930/0a5c3ac5/attachment-0001.html>
More information about the calendarserver-changes
mailing list