<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre, #msg p { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[2091] CalDAVTester/branches/users/cdaboo/private_events-2082</title>
</head>
<body>
<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.macosforge.org/projects/calendarserver/changeset/2091">2091</a></dd>
<dt>Author</dt> <dd>cdaboo@apple.com</dd>
<dt>Date</dt> <dd>2008-01-04 14:39:32 -0800 (Fri, 04 Jan 2008)</dd>
</dl>
<h3>Log Message</h3>
<pre>Tests for handling of X-CALENDARSERVER-ACCESS on PUT.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082scriptstestsprivateeventsxml">CalDAVTester/branches/users/cdaboo/private_events-2082/scripts/tests/privateevents.xml</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents10ics">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/10.ics</a></li>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents11ics">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/11.ics</a></li>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents12ics">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/12.ics</a></li>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents13ics">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/13.ics</a></li>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents4xml">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/4.xml</a></li>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents5ics">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/5.ics</a></li>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents6ics">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/6.ics</a></li>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents7ics">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/7.ics</a></li>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents8ics">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/8.ics</a></li>
<li><a href="#CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents9ics">CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/9.ics</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents10ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/10.ics (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/10.ics         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/10.ics        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+X-CALENDARSERVER-ACCESS:CONFIDENTIAL
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842FFC@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents11ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/11.ics (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/11.ics         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/11.ics        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842FFC@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents12ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/12.ics (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/12.ics         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/12.ics        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+X-CALENDARSERVER-ACCESS:RESTRICTED
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842FFD@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents13ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/13.ics (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/13.ics         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/13.ics        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842FFD@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents4xml"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/4.xml (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/4.xml         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/4.xml        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+<?xml version="1.0" encoding="utf-8" ?>
+<D:acl xmlns:D="DAV:">
+        <D:ace>
+                <D:principal>
+                        <D:href>$principaluri2:</D:href>
+                </D:principal>
+                <D:grant>
+                        <D:privilege><D:read/></D:privilege>
+                        <D:privilege><D:write/></D:privilege>
+                </D:grant>
+        </D:ace>
+        <D:ace>
+                <D:principal>
+                        <D:href>$principaluri3:</D:href>
+                </D:principal>
+                <D:grant>
+                        <D:privilege><D:read/></D:privilege>
+                </D:grant>
+        </D:ace>
+</D:acl>
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents5ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/5.ics (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/5.ics         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/5.ics        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842FFF@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents6ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/6.ics (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/6.ics         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/6.ics        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+X-CALENDARSERVER-ACCESS:PUBLIC
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842FFA@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents7ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/7.ics (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/7.ics         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/7.ics        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842FFA@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents8ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/8.ics (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/8.ics         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/8.ics        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+X-CALENDARSERVER-ACCESS:PRIVATE
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842FFB@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082Resourceprivateevents9ics"></a>
<div class="addfile"><h4>Added: CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/9.ics (0 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/9.ics         (rev 0)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/Resource/privateevents/9.ics        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+PRODID:-//Cyrusoft International\, Inc.//Mulberry v4.0//EN
+VERSION:2.0
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US/Eastern
+BEGIN:DAYLIGHT
+DTSTART:20000404T020000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:20001026T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+DTSTAMP:20051222T205953Z
+DTSTART;TZID=US/Eastern:20060101T100000
+DURATION:PT1H
+SUMMARY:event 1
+UID:54E181BC7CCC373042B28842FFB@ninevah.local
+END:VEVENT
+END:VCALENDAR
</ins></span></pre></div>
<a id="CalDAVTesterbranchesuserscdabooprivate_events2082scriptstestsprivateeventsxml"></a>
<div class="modfile"><h4>Modified: CalDAVTester/branches/users/cdaboo/private_events-2082/scripts/tests/privateevents.xml (2090 => 2091)</h4>
<pre class="diff"><span>
<span class="info">--- CalDAVTester/branches/users/cdaboo/private_events-2082/scripts/tests/privateevents.xml        2008-01-04 22:38:23 UTC (rev 2090)
+++ CalDAVTester/branches/users/cdaboo/private_events-2082/scripts/tests/privateevents.xml        2008-01-04 22:39:32 UTC (rev 2091)
</span><span class="lines">@@ -32,6 +32,18 @@
</span><span class="cx">                                 <filepath>Resource/delete/1.txt</filepath>
</span><span class="cx">                         </data>
</span><span class="cx">                 </request>
</span><ins>+                <request end-delete="yes">
+                        <method>MKCALENDAR</method>
+                        <ruri>$pathprefix:/sharedcalendar/</ruri>
+                </request>
+                <request>
+                        <method>ACL</method>
+                        <ruri>$pathprefix:/sharedcalendar/</ruri>
+                        <data>
+                                <content-type>text/xml; charset=utf-8</content-type>
+                                <filepath>Resource/privateevents/4.xml</filepath>
+                        </data>
+                </request>
</ins><span class="cx">         </start>
</span><span class="cx">         
</span><span class="cx">         <test-suite name='OPTIONS header' ignore='no'>
</span><span class="lines">@@ -241,6 +253,1228 @@
</span><span class="cx">                 </test>
</span><span class="cx">         </test-suite>
</span><span class="cx">
</span><ins>+        <test-suite name='PUT behavior without access' ignore='no'>
+                <test name='1'>
+                        <description>PUT without access by user01</description>
+                        <request print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/5.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>GET by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/1.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>PUT by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/5.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>PUT by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/1.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/5.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>PROPFIND by user01</description>
+                        <request print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>PROPFIND by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='9'>
+                        <description>PROPFIND by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='PUT behavior with PUBLIC access' ignore='no'>
+                <test name='1'>
+                        <description>PUT with access by user01</description>
+                        <request print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/6.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PUBLIC</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PUBLIC</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>GET by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PUBLIC</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>PUT by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/6.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>PUT by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/6.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>PROPFIND by user01</description>
+                        <request print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>PROPFIND by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='9'>
+                        <description>PROPFIND by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='PUT re-write behavior with PUBLIC access' ignore='no'>
+                <test name='1'>
+                        <description>Overwrite PUT with no access by user01</description>
+                        <request print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/7.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PUBLIC</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PUBLIC</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>GET by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PUBLIC</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>PUT by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/7.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PUBLIC</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/2.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PUBLIC</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='PUT behavior with PRIVATE access' ignore='no'>
+                <test name='1'>
+                        <description>PUT with access by user01</description>
+                        <request print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/8.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PRIVATE</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>GET by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>PUT by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/8.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>PUT by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/8.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>PROPFIND by user01</description>
+                        <request print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                                <value>3.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>PROPFIND by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='9'>
+                        <description>PROPFIND by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='PUT re-write behavior with PRIVATE access' ignore='no'>
+                <test name='1'>
+                        <description>Overwrite PUT with no access by user01</description>
+                        <request print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/9.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:PRIVATE</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>GET by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>PUT by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/3.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/9.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='PUT behavior with CONFIDENTIAL access' ignore='no'>
+                <test name='1'>
+                        <description>PUT with access by user01</description>
+                        <request print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/10.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:CONFIDENTIAL</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:CONFIDENTIAL</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>GET by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:CONFIDENTIAL</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>PUT by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/10.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>PUT by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/10.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>PROPFIND by user01</description>
+                        <request print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                                <value>3.ics</value>
+                                                <value>4.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>PROPFIND by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                                <value>4.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='9'>
+                        <description>PROPFIND by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                                <value>4.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='PUT re-write behavior with CONFIDENTIAL access' ignore='no'>
+                <test name='1'>
+                        <description>Overwrite PUT with no access by user01</description>
+                        <request print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/11.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:CONFIDENTIAL</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:CONFIDENTIAL</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>GET by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:CONFIDENTIAL</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>PUT by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/4.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/11.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='PUT behavior with RESTRICTED access' ignore='no'>
+                <test name='1'>
+                        <description>PUT with access by user01</description>
+                        <request print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/12.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:RESTRICTED</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:RESTRICTED</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>GET by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:RESTRICTED</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>PUT by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/12.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='6'>
+                        <description>PUT by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/12.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='7'>
+                        <description>PROPFIND by user01</description>
+                        <request print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                                <value>3.ics</value>
+                                                <value>4.ics</value>
+                                                <value>5.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='8'>
+                        <description>PROPFIND by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                                <value>4.ics</value>
+                                                <value>5.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='9'>
+                        <description>PROPFIND by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>PROPFIND</method>
+                                <header>
+                                        <name>Depth</name>
+                                        <value>1</value>
+                                </header>
+                                <ruri>$pathprefix:/sharedcalendar/</ruri>
+                                <data>
+                                        <content-type>text/xml; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/1.xml</filepath>
+                                </data>
+                                <verify>
+                                        <callback>multistatusItems</callback>
+                                        <arg>
+                                                <name>okhrefs</name>
+                                                <value></value>
+                                                <value>1.ics</value>
+                                                <value>2.ics</value>
+                                                <value>4.ics</value>
+                                                <value>5.ics</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
+        <test-suite name='PUT re-write behavior with RESTRICTED access' ignore='no'>
+                <test name='1'>
+                        <description>Overwrite PUT with no access by user01</description>
+                        <request print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/13.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                        </request>
+                </test>
+                <test name='2'>
+                        <description>GET by user01</description>
+                        <request print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:RESTRICTED</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='3'>
+                        <description>GET by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:RESTRICTED</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='4'>
+                        <description>GET by user03</description>
+                        <request user="$userid3:" pswd="$pswd3:" print-response="no">
+                                <method>GET</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                </verify>
+                                <verify>
+                                        <callback>dataString</callback>
+                                        <arg>
+                                                <name>contains</name>
+                                                <value>X-CALENDARSERVER-ACCESS:RESTRICTED</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+                <test name='5'>
+                        <description>PUT by user02</description>
+                        <request user="$userid2:" pswd="$pswd2:" print-response="no">
+                                <method>PUT</method>
+                                <ruri>$pathprefix:/sharedcalendar/5.ics</ruri>
+                                <data>
+                                        <content-type>text/calendar; charset=utf-8</content-type>
+                                        <filepath>Resource/privateevents/13.ics</filepath>
+                                </data>
+                                <verify>
+                                        <callback>statusCode</callback>
+                                        <arg>
+                                                <name>status</name>
+                                                <value>403</value>
+                                        </arg>
+                                </verify>
+                        </request>
+                </test>
+        </test-suite>
+
</ins><span class="cx">         <end/>
</span><span class="cx">
</span><span class="cx"> </caldavtest>
</span></span></pre>
</div>
</div>
</body>
</html>