Tests for ACL to view events in other users' collections

This commit is contained in:
Andrew Ruthven 2022-12-10 23:42:37 +13:00 committed by Andrew Ruthven
parent 7b2fa34f73
commit 8bf9c2577c
8 changed files with 465 additions and 0 deletions

View File

@ -0,0 +1,66 @@
HTTP/1.1 201 Created
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
ETag: "5126577e86b1ff51857ad7334b6e0965"
Content-Length: 0
Content-Type: text/plain; charset="utf-8"
CalDAV Data: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 3.0//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
DTSTART:19900318T030000
RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
TZNAME:NZST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
DTSTART:19901007T020000
RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
TZNAME:NZDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTODO
PRIORITY:5
SEQUENCE:7
DESCRIPTION:A readable event
UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74
DTSTART;TZID=Pacific/Auckland:20040101T120000
DTSTAMP:20071124T220925Z
SUMMARY:An task for my assistant to read
CREATED:20071124T220749Z
X-APPLE-SORT-ORDER:2147483647
DUE;VALUE=DATE:20100217
END:VTODO
END:VCALENDAR
<
caldav_type: >VTODO<
class: >PUBLIC<
dav_etag: >5126577e86b1ff51857ad7334b6e0965<
description: >A readable event<
dtend: >NULL<
dtstamp: >2007-11-24 22:09:25<
dtstart: >2004-01-01 12:00:00<
due: >2010-02-17 00:00:00<
last_modified: >2007-11-24 22:09:25<
location: >NULL<
logged_user: >20<
percent_complete: >NULL<
priority: >5<
rrule: >NULL<
status: >NULL<
summary: >An task for my assistant to read<
transp: >NULL<
tz_id: >Pacific/Auckland<
uid: >E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74<
url: >NULL<
user_no: >20<

View File

@ -0,0 +1,59 @@
#
# Create a readable task for manager1 for assistant1 to then read.
#
TYPE=PUT
URL=http://regression.host/caldav.php/manager1/home/readable-task.ics
HEADER=Content-Type: text/calendar
HEAD
AUTH=manager1:manager1
BEGINDATA
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 3.0//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
DTSTART:19900318T030000
RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
TZNAME:NZST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
DTSTART:19901007T020000
RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
TZNAME:NZDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTODO
PRIORITY:5
SEQUENCE:7
DESCRIPTION:A readable event
UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74
DTSTART;TZID=Pacific/Auckland:20040101T120000
DTSTAMP:20071124T220925Z
SUMMARY:An task for my assistant to read
CREATED:20071124T220749Z
X-APPLE-SORT-ORDER:2147483647
DUE;VALUE=DATE:20100217
END:VTODO
END:VCALENDAR
ENDDATA
QUERY
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due at time zone olson_name as due, summary, location,
description, priority, class, transp, rrule, url,
percent_complete, tz_id, status,
caldav_data AS " CalDAV Data", calendar_item.last_modified
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
WHERE caldav_data.dav_name =
'/manager1/home/readable-task.ics';
ENDQUERY

View File

@ -0,0 +1,67 @@
HTTP/1.1 201 Created
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
ETag: "5a0d4dd46dfd8e8dcbba4f2ed2b2631b"
Content-Length: 0
Content-Type: text/plain; charset="utf-8"
CalDAV Data: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 3.0//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
DTSTART:19900318T030000
RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
TZNAME:NZST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
DTSTART:19901007T020000
RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
TZNAME:NZDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTODO
PRIORITY:5
SEQUENCE:7
DESCRIPTION:A private event
UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE75
DTSTART;TZID=Pacific/Auckland:20040101T120000
DTSTAMP:20071124T220925Z
SUMMARY:A task for my assistant to not read
CLASS:PRIVATE
CREATED:20071124T220749Z
X-APPLE-SORT-ORDER:2147483647
DUE;VALUE=DATE:20100217
END:VTODO
END:VCALENDAR
<
caldav_type: >VTODO<
class: >PRIVATE<
dav_etag: >5a0d4dd46dfd8e8dcbba4f2ed2b2631b<
description: >A private event<
dtend: >NULL<
dtstamp: >2007-11-24 22:09:25<
dtstart: >2004-01-01 12:00:00<
due: >2010-02-17 00:00:00<
last_modified: >2007-11-24 22:09:25<
location: >NULL<
logged_user: >20<
percent_complete: >NULL<
priority: >5<
rrule: >NULL<
status: >NULL<
summary: >A task for my assistant to not read<
transp: >NULL<
tz_id: >Pacific/Auckland<
uid: >E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE75<
url: >NULL<
user_no: >20<

View File

@ -0,0 +1,60 @@
#
# Create a private task for manager1 for assistant1 to then not read.
#
TYPE=PUT
URL=http://regression.host/caldav.php/manager1/home/private-task.ics
HEADER=Content-Type: text/calendar
HEAD
AUTH=manager1:manager1
BEGINDATA
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 3.0//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
DTSTART:19900318T030000
RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
TZNAME:NZST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
DTSTART:19901007T020000
RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
TZNAME:NZDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTODO
PRIORITY:5
SEQUENCE:7
DESCRIPTION:A private event
UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE75
DTSTART;TZID=Pacific/Auckland:20040101T120000
DTSTAMP:20071124T220925Z
SUMMARY:A task for my assistant to not read
CLASS:PRIVATE
CREATED:20071124T220749Z
X-APPLE-SORT-ORDER:2147483647
DUE;VALUE=DATE:20100217
END:VTODO
END:VCALENDAR
ENDDATA
QUERY
SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user,
uid, dtstamp, dtstart at time zone olson_name as dtstart, dtend at time zone olson_name as dtend, due at time zone olson_name as due, summary, location,
description, priority, class, transp, rrule, url,
percent_complete, tz_id, status,
caldav_data AS " CalDAV Data", calendar_item.last_modified
FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid)
WHERE caldav_data.dav_name =
'/manager1/home/private-task.ics';
ENDQUERY

View File

@ -0,0 +1,100 @@
HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
ETag: "20c7556827a226030f58c9d67f438e90"
Content-Length: 2237
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8" ?>
<multistatus xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
<response>
<href>/davical/caldav.php/manager1/home/readable-task.ics</href>
<propstat>
<prop>
<getetag>"5126577e86b1ff51857ad7334b6e0965"</getetag>
<C:calendar-data>BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 3.0//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
DTSTART:19900318T030000
RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
TZNAME:NZST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
DTSTART:19901007T020000
RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
TZNAME:NZDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTODO
PRIORITY:5
SEQUENCE:7
DESCRIPTION:A readable event
UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74
DTSTART;TZID=Pacific/Auckland:20040101T120000
DTSTAMP:20071124T220925Z
SUMMARY:An task for my assistant to read
CREATED:20071124T220749Z
X-APPLE-SORT-ORDER:2147483647
DUE;VALUE=DATE:20100217
END:VTODO
END:VCALENDAR
</C:calendar-data>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
</response>
<response>
<href>/davical/caldav.php/manager1/home/private-task.ics</href>
<propstat>
<prop>
<getetag>"5a0d4dd46dfd8e8dcbba4f2ed2b2631b"</getetag>
<C:calendar-data>BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 3.0//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
DTSTART:19900318T030000
RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
TZNAME:NZST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
DTSTART:19901007T020000
RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
TZNAME:NZDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTODO
PRIORITY:5
SEQUENCE:7
DESCRIPTION:A private event
UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE75
DTSTART;TZID=Pacific/Auckland:20040101T120000
DTSTAMP:20071124T220925Z
SUMMARY:A task for my assistant to not read
CLASS:PRIVATE
CREATED:20071124T220749Z
X-APPLE-SORT-ORDER:2147483647
DUE;VALUE=DATE:20100217
END:VTODO
END:VCALENDAR
</C:calendar-data>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
</response>
</multistatus>

View File

@ -0,0 +1,29 @@
#
# List manager1's tasks
#
TYPE=REPORT
URL=http://alternate.host/davical/caldav.php/manager1/home/
HEAD
AUTH=manager1:manager1
HEADER=Content-Type: text/xml
HEADER=Depth: 1
AUTH
BEGINDATA
<?xml version="1.0" encoding="UTF-8"?>
<calendar-query xmlns:D="DAV:" xmlns="urn:ietf:params:xml:ns:caldav">
<D:prop>
<D:getetag/>
<calendar-data/>
</D:prop>
<filter>
<comp-filter name="VCALENDAR">
<comp-filter name="VTODO"/>
</comp-filter>
</filter>
</calendar-query>
ENDDATA

View File

@ -0,0 +1,55 @@
HTTP/1.1 207 Multi-Status
Date: Dow, 01 Jan 2000 00:00:00 GMT
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
ETag: "5ce0ce846622e0f4208a25ff49a1ecf3"
Content-Length: 1206
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8" ?>
<multistatus xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
<response>
<href>/davical/caldav.php/manager1/home/readable-task.ics</href>
<propstat>
<prop>
<getetag>"5126577e86b1ff51857ad7334b6e0965"</getetag>
<C:calendar-data>BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 3.0//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
DTSTART:19900318T030000
RRULE:FREQ=YEARLY;UNTIL=20070317T140000Z;BYMONTH=3;BYDAY=3SU
TZNAME:NZST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
DTSTART:19901007T020000
RRULE:FREQ=YEARLY;UNTIL=20060930T140000Z;BYMONTH=10;BYDAY=1SU
TZNAME:NZDT
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTODO
PRIORITY:5
SEQUENCE:7
DESCRIPTION:A readable event
UID:E6BC62F3-77C6-4FB7-BDD3-6882E2F1BE74
DTSTART;TZID=Pacific/Auckland:20040101T120000
DTSTAMP:20071124T220925Z
SUMMARY:An task for my assistant to read
CREATED:20071124T220749Z
X-APPLE-SORT-ORDER:2147483647
DUE;VALUE=DATE:20100217
END:VTODO
END:VCALENDAR
</C:calendar-data>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
</response>
</multistatus>

View File

@ -0,0 +1,29 @@
#
# assistant1 should be able to see readable tasks in manager1's collection.
#
TYPE=REPORT
URL=http://alternate.host/davical/caldav.php/manager1/home/
HEAD
AUTH=assistant1:assistant1
HEADER=Content-Type: text/xml
HEADER=Depth: 1
AUTH
BEGINDATA
<?xml version="1.0" encoding="UTF-8"?>
<calendar-query xmlns:D="DAV:" xmlns="urn:ietf:params:xml:ns:caldav">
<D:prop>
<D:getetag/>
<calendar-data/>
</D:prop>
<filter>
<comp-filter name="VCALENDAR">
<comp-filter name="VTODO"/>
</comp-filter>
</filter>
</calendar-query>
ENDDATA