From 1fd83c54cac62e4aeb2d1eb22b8c7ecf22149ca5 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Sat, 9 Oct 2010 09:22:43 -0400 Subject: [PATCH] New tests, especially focused on expansion and privacy checks. --- .../0000-Setup-PUT-collection-user5.result | 151 ++++++++++++++++++ .../0000-Setup-PUT-collection-user5.test | 104 ++++++++++++ .../0962-REPORT-expanded.result | 104 ++++++++++++ .../0962-REPORT-expanded.test | 42 +++++ .../0963-POST-freebusy-private.result | 64 ++++++++ .../0963-POST-freebusy-private.test | 55 +++++++ .../0964-REPORT-calquery-private.result | 54 +++++++ .../0964-REPORT-calquery-private.test | 51 ++++++ 8 files changed, 625 insertions(+) create mode 100644 testing/tests/regression-suite/0000-Setup-PUT-collection-user5.result create mode 100644 testing/tests/regression-suite/0000-Setup-PUT-collection-user5.test create mode 100644 testing/tests/regression-suite/0962-REPORT-expanded.result create mode 100644 testing/tests/regression-suite/0962-REPORT-expanded.test create mode 100644 testing/tests/regression-suite/0963-POST-freebusy-private.result create mode 100644 testing/tests/regression-suite/0963-POST-freebusy-private.test create mode 100644 testing/tests/regression-suite/0964-REPORT-calquery-private.result create mode 100644 testing/tests/regression-suite/0964-REPORT-calquery-private.test diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.result b/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.result new file mode 100644 index 00000000..0c34758e --- /dev/null +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.result @@ -0,0 +1,151 @@ +HTTP/1.1 100 Continue + +HTTP/1.1 200 OK +Date: Dow, 01 Jan 2000 00:00:00 GMT +DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule +DAV: extended-mkcol, calendar-proxy, bind, addressbook +Content-Length: 0 +Content-Type: text/plain; charset="utf-8" + + + A1 CalDAV DATA: >BEGIN:VCALENDAR +PRODID:-//davical.org//NONSGML AWL Calendar//EN +VERSION:2.0 +CALSCALE:GREGORIAN +BEGIN:VEVENT +LAST-MODIFIED:20100812T161339Z +SEQUENCE:5 +UID:naltpirh2vfjfmplmsivuo30t8@google.com +SUMMARY:Tango Night +DESCRIPTION:Never will you see a space glow like a night of Tango at Tea + se.\nAll dancers welcome!\n$5 suggested donation +DTSTART;TZID=America/Los_Angeles:20100815T200000 +CREATED:20091221T033228Z +DTSTAMP:20100812T161339Z +DURATION:PT3H +LOCATION: +X-VENUE:Tease Restaurant & Bar, corner of 2nd & Main +X-EMAIL-RSVP-UPDATES:true +RRULE:FREQ=MONTHLY;WKST=MO;BYDAY=3SU +END:VEVENT +BEGIN:VTIMEZONE +TZID:America/Los_Angeles +X-LIC-LOCATION:America/Los_Angeles +BEGIN:DAYLIGHT +TZOFFSETFROM:-0800 +TZOFFSETTO:-0700 +TZNAME:PDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0700 +TZOFFSETTO:-0800 +TZNAME:PST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR +< + caldav_type: >VEVENT< + class: >PUBLIC< + description: >Never will you see a space glow like a night of Tango at Tease. +All dancers welcome! +$5 suggested donation< + dtend: >2010-08-15 23:00:00< + dtstamp: >2010-08-12 16:13:39< + dtstart: >2010-08-15 20:00:00< + due: >NULL< + location: >< + logged_user: >14< + percent_complete: >NULL< + priority: >NULL< + rrule: >FREQ=MONTHLY;WKST=MO;BYDAY=3SU< + status: >NULL< + summary: >Tango Night< + transp: >NULL< + tz_id: >America/Los_Angeles< + uid: >naltpirh2vfjfmplmsivuo30t8@google.com< + url: >NULL< + user_no: >14< + + A1 CalDAV DATA: >BEGIN:VCALENDAR +PRODID:-//davical.org//NONSGML AWL Calendar//EN +VERSION:2.0 +CALSCALE:GREGORIAN +BEGIN:VEVENT +SEQUENCE:4 +DTSTART;TZID=America/Los_Angeles:20090707T170000 +STATUS:CONFIRMED +DTSTAMP:20090828T083735Z +SUMMARY:Sketch Salone +DTEND;TZID=America/Los_Angeles:20090707T200000 +LOCATION:Tease Restaurant & Bar\, corner of 2nd & Main +RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=2;UNTIL=20090921T065959Z;BYDAY=MO +DESCRIPTION:Sketch Salone\, where the artist in you can come to the surf + ace. Live model Hosted by Kevin Christman\n per bench seat by RSVP or w + elcome to use a table +UID:v3f2otajsto18em4rom3jd4238@google.com +TRANSP:TRANSPARENT +CREATED:20091221T033228Z +END:VEVENT +BEGIN:VTIMEZONE +TZID:America/Los_Angeles +X-LIC-LOCATION:America/Los_Angeles +BEGIN:DAYLIGHT +TZOFFSETFROM:-0800 +TZOFFSETTO:-0700 +TZNAME:PDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0700 +TZOFFSETTO:-0800 +TZNAME:PST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +BEGIN:VEVENT +SEQUENCE:4 +DTSTART;TZID=America/Los_Angeles:20090907T170000 +STATUS:CONFIRMED +DTSTAMP:20090828T083735Z +SUMMARY:Sketch Salone +DTEND;TZID=America/Los_Angeles:20090907T200000 +LOCATION:Tease Restaurant & Bar\, corner of 2nd & Main +DESCRIPTION:Sketch Salone\, where the artist in you can come to the surf + ace. Live model Hosted by Kevin Christman\n per bench seat by RSVP or w + elcome to use a table +UID:v3f2otajsto18em4rom3jd4238@google.com +TRANSP:TRANSPARENT +CREATED:20091221T033228Z +RECURRENCE-ID;TZID=America/Los_Angeles:20090914T170000 +END:VEVENT +END:VCALENDAR +< + caldav_type: >VEVENT< + class: >PUBLIC< + description: >Sketch Salone, where the artist in you can come to the surface. Live model Hosted by Kevin Christman + per bench seat by RSVP or welcome to use a table< + dtend: >2009-07-07 20:00:00< + dtstamp: >2009-08-28 08:37:35< + dtstart: >2009-07-07 17:00:00< + due: >NULL< + location: >Tease Restaurant & Bar, corner of 2nd & Main< + logged_user: >14< + percent_complete: >NULL< + priority: >NULL< + rrule: >FREQ=WEEKLY;WKST=SU;INTERVAL=2;UNTIL=20090921T065959Z;BYDAY=MO< + status: >CONFIRMED< + summary: >Sketch Salone< + transp: >TRANSPARENT< + tz_id: >America/Los_Angeles< + uid: >v3f2otajsto18em4rom3jd4238@google.com< + url: >NULL< + user_no: >14< + + count: >2< + diff --git a/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.test b/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.test new file mode 100644 index 00000000..cbf54b1d --- /dev/null +++ b/testing/tests/regression-suite/0000-Setup-PUT-collection-user5.test @@ -0,0 +1,104 @@ +# +# PUT a calendar collection to user5 so we have some starting events +# +# There is no CalDAV defined behaviour for this. +# +TYPE=PUT +URL=http://mycaldav/caldav.php/user5/home/ +HEADER=User-Agent: RSCDS Testing/0.9.x +HEADER=Content-Type: text/calendar; charset=utf-8 +AUTH=user5:user5 + +HEAD + +BEGINDATA +BEGIN:VCALENDAR +VERSION:2.0 +CALSCALE:GREGORIAN +PRODID:-//neutralspace inc.//dotcal.com//EN +BEGIN:VTIMEZONE +TZID:America/Los_Angeles +X-LIC-LOCATION:America/Los_Angeles +BEGIN:DAYLIGHT +TZOFFSETFROM:-0800 +TZOFFSETTO:-0700 +TZNAME:PDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0700 +TZOFFSETTO:-0800 +TZNAME:PST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +BEGIN:VEVENT +LAST-MODIFIED:20100812T161339Z +SEQUENCE:5 +UID:naltpirh2vfjfmplmsivuo30t8@google.com +SUMMARY:Tango Night +DESCRIPTION:Never will you see a space glow like a night of Tango at Tease. + \nAll dancers welcome!\n$5 suggested donation +DTSTART;TZID=America/Los_Angeles:20100815T200000 +CREATED:20091221T033228Z +DTSTAMP:20100812T161339Z +DURATION:PT3H +LOCATION: +X-VENUE:Tease Restaurant & Bar, corner of 2nd & Main +X-EMAIL-RSVP-UPDATES:true +RRULE:FREQ=MONTHLY;WKST=MO;BYDAY=3SU +END:VEVENT +BEGIN:VEVENT +SEQUENCE:4 +DTSTART;TZID=America/Los_Angeles:20090707T170000 +STATUS:CONFIRMED +DTSTAMP:20090828T083735Z +SUMMARY:Sketch Salone +DTEND;TZID=America/Los_Angeles:20090707T200000 +LOCATION:Tease Restaurant & Bar\, corner of 2nd & Main +RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=2;UNTIL=20090921T065959Z;BYDAY=MO +DESCRIPTION:Sketch Salone\, where the artist in you can come to the + surface. Live model Hosted by Kevin Christman\n per bench seat by + RSVP or welcome to use a table +UID:v3f2otajsto18em4rom3jd4238@google.com +TRANSP:TRANSPARENT +CREATED:20091221T033228Z +END:VEVENT +BEGIN:VEVENT +SEQUENCE:4 +DTSTART;TZID=America/Los_Angeles:20090907T170000 +STATUS:CONFIRMED +DTSTAMP:20090828T083735Z +SUMMARY:Sketch Salone +DTEND;TZID=America/Los_Angeles:20090907T200000 +LOCATION:Tease Restaurant & Bar\, corner of 2nd & Main +DESCRIPTION:Sketch Salone\, where the artist in you can come to the + surface. Live model Hosted by Kevin Christman\n per bench seat by + RSVP or welcome to use a table +UID:v3f2otajsto18em4rom3jd4238@google.com +TRANSP:TRANSPARENT +CREATED:20091221T033228Z +RECURRENCE-ID;TZID=America/Los_Angeles:20090914T170000 +END:VEVENT +END:VCALENDAR +ENDDATA + + +QUERY +SELECT caldav_data.user_no, caldav_type, logged_user, + uid, dtstamp, dtstart at time zone tz_locn as dtstart, dtend at time zone tz_locn as dtend, due, summary, location, + description, priority, class, transp, rrule, url, + percent_complete, tz_id, status, + caldav_data AS "A1 CalDAV DATA" +FROM caldav_data JOIN calendar_item USING(dav_name) JOIN time_zone USING (tz_id) +WHERE caldav_data.dav_name ~ '^/user5/home/' +ENDQUERY + +QUERY +SELECT count(*) + FROM caldav_data JOIN calendar_item USING(dav_name) + WHERE caldav_data.dav_name ~ '^/user5/home/' +ENDQUERY + diff --git a/testing/tests/regression-suite/0962-REPORT-expanded.result b/testing/tests/regression-suite/0962-REPORT-expanded.result new file mode 100644 index 00000000..d75c0da5 --- /dev/null +++ b/testing/tests/regression-suite/0962-REPORT-expanded.result @@ -0,0 +1,104 @@ +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, calendar-proxy, bind, addressbook +ETag: "b462ad2abe6f194b2f2e4d241b9b002e" +Content-Length: 2487 +Content-Type: text/xml; charset="utf-8" + + + + + /caldav.php/user5/home/naltpirh2vfjfmplmsivuo30t8%40google.com.ics + + + BEGIN:VCALENDAR +PRODID:-//davical.org//NONSGML AWL Calendar//EN +VERSION:2.0 +CALSCALE:GREGORIAN +BEGIN:VEVENT +LAST-MODIFIED:20100812T161339Z +SEQUENCE:5 +UID:naltpirh2vfjfmplmsivuo30t8@google.com +SUMMARY:Tango Night +DESCRIPTION:Never will you see a space glow like a night of Tango at Tea + se.\nAll dancers welcome!\n$5 suggested donation +CREATED:20091221T033228Z +DTSTAMP:20100812T161339Z +DURATION:PT3H +LOCATION: +X-VENUE:Tease Restaurant & Bar, corner of 2nd & Main +X-EMAIL-RSVP-UPDATES:true +RRULE:FREQ=MONTHLY;WKST=MO;BYDAY=3SU +DTSTART:20100920T030000Z +DURATION:PT3H +END:VEVENT +BEGIN:VEVENT +LAST-MODIFIED:20100812T161339Z +SEQUENCE:5 +UID:naltpirh2vfjfmplmsivuo30t8@google.com +SUMMARY:Tango Night +DESCRIPTION:Never will you see a space glow like a night of Tango at Tea + se.\nAll dancers welcome!\n$5 suggested donation +CREATED:20091221T033228Z +DTSTAMP:20100812T161339Z +DURATION:PT3H +LOCATION: +X-VENUE:Tease Restaurant & Bar, corner of 2nd & Main +X-EMAIL-RSVP-UPDATES:true +RRULE:FREQ=MONTHLY;WKST=MO;BYDAY=3SU +DTSTART:20101018T030000Z +DURATION:PT3H +END:VEVENT +BEGIN:VEVENT +LAST-MODIFIED:20100812T161339Z +SEQUENCE:5 +UID:naltpirh2vfjfmplmsivuo30t8@google.com +SUMMARY:Tango Night +DESCRIPTION:Never will you see a space glow like a night of Tango at Tea + se.\nAll dancers welcome!\n$5 suggested donation +CREATED:20091221T033228Z +DTSTAMP:20100812T161339Z +DURATION:PT3H +LOCATION: +X-VENUE:Tease Restaurant & Bar, corner of 2nd & Main +X-EMAIL-RSVP-UPDATES:true +RRULE:FREQ=MONTHLY;WKST=MO;BYDAY=3SU +DTSTART:20101122T040000Z +DURATION:PT3H +END:VEVENT +BEGIN:VEVENT +LAST-MODIFIED:20100812T161339Z +SEQUENCE:5 +UID:naltpirh2vfjfmplmsivuo30t8@google.com +SUMMARY:Tango Night +DESCRIPTION:Never will you see a space glow like a night of Tango at Tea + se.\nAll dancers welcome!\n$5 suggested donation +CREATED:20091221T033228Z +DTSTAMP:20100812T161339Z +DURATION:PT3H +LOCATION: +X-VENUE:Tease Restaurant & Bar, corner of 2nd & Main +X-EMAIL-RSVP-UPDATES:true +RRULE:FREQ=MONTHLY;WKST=MO;BYDAY=3SU +DTSTART:20101220T040000Z +DURATION:PT3H +END:VEVENT +END:VCALENDAR + + + HTTP/1.1 200 OK + + + + + dav_name: >/user5/home/naltpirh2vfjfmplmsivuo30t8@google.com.ics< + dtstart: >2010-08-16 15:00:00+12< + dtstart_utc: >2010-08-16 03:00:00< + rrule: >FREQ=MONTHLY;WKST=MO;BYDAY=3SU< + + dav_name: >/user5/home/v3f2otajsto18em4rom3jd4238@google.com.ics< + dtstart: >2009-07-08 12:00:00+12< + dtstart_utc: >2009-07-08 00:00:00< + rrule: >FREQ=WEEKLY;WKST=SU;INTERVAL=2;UNTIL=20090921T065959Z;BYDAY=MO< + diff --git a/testing/tests/regression-suite/0962-REPORT-expanded.test b/testing/tests/regression-suite/0962-REPORT-expanded.test new file mode 100644 index 00000000..416e129a --- /dev/null +++ b/testing/tests/regression-suite/0962-REPORT-expanded.test @@ -0,0 +1,42 @@ +# +# Test REPORT access to a non-public calendar using a ticket. +# +TYPE=REPORT +URL=http://regression.host/caldav.php/user5/home/ +AUTH=user5:user5 + + +HEADER=User-Agent: DAViCalTester/public +HEADER=Content-Type: text/xml; charset="UTF-8" +HEAD + + +BEGINDATA + + + + + + + + + + + + + + + +ENDDATA + + +QUERY +SELECT dav_name, + dtstart, dtstart AT TIME ZONE 'UTC' AS dtstart_utc, + rrule + FROM calendar_item + WHERE dav_name ~ '^/user5/home/' + AND rrule IS NOT NULL + AND dtstart < '20101201T000000Z' +ENDQUERY + diff --git a/testing/tests/regression-suite/0963-POST-freebusy-private.result b/testing/tests/regression-suite/0963-POST-freebusy-private.result new file mode 100644 index 00000000..8f66725e --- /dev/null +++ b/testing/tests/regression-suite/0963-POST-freebusy-private.result @@ -0,0 +1,64 @@ + + + + + mailto:user1@example.net + + 2.0;Success + BEGIN:VCALENDAR +PRODID:-//davical.org//NONSGML AWL Calendar//EN +VERSION:2.0 +CALSCALE:GREGORIAN +METHOD:REPLY +BEGIN:VFREEBUSY +DTSTAMP:yyyymmddThhmmssZ +DTSTART:20080730T110000Z +DTEND:20080803T110000Z +FREEBUSY:20080730T190000Z/20080731T050000Z +FREEBUSY:20080730T194500Z/20080730T203000Z +FREEBUSY:20080730T210000Z/20080730T220000Z +FREEBUSY:20080731T190000Z/20080801T050000Z +FREEBUSY:20080731T210000Z/20080731T220000Z +FREEBUSY:20080801T210000Z/20080801T220000Z +FREEBUSY:20080802T210000Z/20080802T220000Z +FREEBUSY:20080803T073000Z/20080803T093000Z +UID:c5bd82ea-cd89-4f58-8d31-336f47e44f97 +ORGANIZER:mailto:user4@example.net +ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL: + mailto:user1@example.net +END:VFREEBUSY +END:VCALENDAR + + + + + class: >PUBLIC< + dav_name: >/user1/home/e70576e9-c1e0-431e-a507-0386fd82f223.ics< + finish: >20071210T193000Z< + rrule: >FREQ=WEEKLY;INTERVAL=1;BYDAY=TU,TH< + start: >20071210T184500Z< + + class: >PUBLIC< + dav_name: >/user1/home/da81c0ee-7871-11db-c6d6-f6927c144649.ics< + finish: >20061102T203000Z< + rrule: >FREQ=MONTHLY< + start: >20061102T183000Z< + + class: >PUBLIC< + dav_name: >/user1/6E20BB7C-EFD9-4F0F-9BDC-5335E04D47E0/6C8A0D88-E1F9-4FC1-9EDD-DA258ABF2CFA.ics< + finish: >20071126T040000Z< + rrule: >FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;WKST=SU< + start: >20071125T180000Z< + + class: >PUBLIC< + dav_name: >/user1/collection/Daily_NY_5pm.ics< + finish: >20060101T230000Z< + rrule: >FREQ=DAILY;INTERVAL=1;COUNT=1000< + start: >20060101T220000Z< + + class: >PRIVATE< + dav_name: >/user1/anotherone/20060803T084628Z-6040-1000-1-6@lamb.ics< + finish: >20060802T093456Z< + rrule: >FREQ=YEARLY;INTERVAL=1< + start: >20060801T093456Z< + diff --git a/testing/tests/regression-suite/0963-POST-freebusy-private.test b/testing/tests/regression-suite/0963-POST-freebusy-private.test new file mode 100644 index 00000000..f17e70d7 --- /dev/null +++ b/testing/tests/regression-suite/0963-POST-freebusy-private.test @@ -0,0 +1,55 @@ +# +# POST to scheduling outbox for freebusy query of user4 for user1 +# +TYPE=POST +URL=http://mycaldav/caldav.php/user4/.out/ +AUTH=user4:user4 + +HEADER=User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.18pre) Gecko/20100917 Sunbird/0.9 +HEADER=Accept: text/xml +HEADER=Accept-Language: en-us,en;q=0.5 +HEADER=Accept-Charset: utf-8,*;q=0.1 +HEADER=Content-Type: text/calendar; charset=utf-8 +HEADER=Originator: mailto:user4@example.net +HEADER=Recipient: mailto:user1@example.net + +# HEAD + +REPLACE=/^DTSTAMP:\d{4}[01]\d[0123]\dT[012]\d[0-5]\d[0-6]\dZ\r?$/DTSTAMP:yyyymmddThhmmssZ/ +# REPLACE=/^ETag: "[[:hexdigit:]]+"\s$/ETag: "a fine looking etag"/ + +BEGINDATA +BEGIN:VCALENDAR +PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN +VERSION:2.0 +METHOD:REQUEST +BEGIN:VFREEBUSY +DTSTAMP:20081022T062945Z +ORGANIZER:mailto:user4@example.net +DTSTART:20080730T110000Z +DTEND:20080803T110000Z +UID:c5bd82ea-cd89-4f58-8d31-336f47e44f97 +ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL: + mailto:user1@example.net +END:VFREEBUSY +END:VCALENDAR +ENDDATA + +QUERY +SELECT calendar_item.rrule, + to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS start, + to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS finish, + class, + calendar_item.dav_name + FROM usr INNER JOIN collection USING (user_no) + INNER JOIN caldav_data USING (collection_id) + INNER JOIN calendar_item USING(dav_id) +WHERE lower(usr.email) = 'user1@example.net' + AND collection.is_calendar + AND rrule_event_overlaps( dtstart, dtend, rrule, '20080730T110000Z', '20080803T110000Z' ) + AND caldav_data.caldav_type IN ( 'VEVENT', 'VFREEBUSY' ) + AND (calendar_item.transp != 'TRANSPARENT' OR calendar_item.transp IS NULL) + AND (calendar_item.status != 'CANCELLED' OR calendar_item.status IS NULL) + ORDER BY dav_id +ENDQUERY + diff --git a/testing/tests/regression-suite/0964-REPORT-calquery-private.result b/testing/tests/regression-suite/0964-REPORT-calquery-private.result new file mode 100644 index 00000000..6c215464 --- /dev/null +++ b/testing/tests/regression-suite/0964-REPORT-calquery-private.result @@ -0,0 +1,54 @@ +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, calendar-proxy, bind, addressbook +ETag: "38a9a5f68b0d1510588fb3456181b129" +Content-Length: 1037 +Content-Type: text/xml; charset="utf-8" + + + + + /caldav.php/user1/anotherone/86203AFD481A6C42892013E6E0C4845D039A2543%40AKEXBE02.telecom.tcnz.net.ics + + + "621885941033781f3462950c9bc2844b" + BEGIN:VCALENDAR +PRODID:-//davical.org//NONSGML AWL Calendar//EN +VERSION:2.0 +CALSCALE:GREGORIAN +BEGIN:VEVENT +UID:86203AFD481A6C42892013E6E0C4845D039A2543@AKEXBE02.telecom.tcnz.net +DTSTAMP:20061005T230724Z +DTSTART:20070120T093000 +SUMMARY:Reminder for Mark for Absolom Livasathan's PGP WF Services cost + request +DESCRIPTION:From Absolom.Livasathan@example.com Fri Oct 6 12:00:02 2006 + \n +ORGANIZER;CN=Absolom Livasathan:Absolom.Livasathan@example.com +ATTENDEE;RSVP=FALSE;CN=:andrew@example.org +CREATED:20061005T230724 +LAST-MODIFIED:20061005T230724 +END:VEVENT +END:VCALENDAR + + + HTTP/1.1 200 OK + + + + + class: >PUBLIC< + dav_name: >/user1/anotherone/86203AFD481A6C42892013E6E0C4845D039A2543@AKEXBE02.telecom.tcnz.net.ics< + finish: >20070120T053000Z< + rrule: >NULL< + start: >20070120T053000Z< + summary: >Reminder for Mark for Absolom Livasathan's PGP WF Services cost request< + + class: >PRIVATE< + dav_name: >/user1/anotherone/20060803T084628Z-6040-1000-1-6@lamb.ics< + finish: >20060802T093456Z< + rrule: >FREQ=YEARLY;INTERVAL=1< + start: >20060801T093456Z< + summary: >Steve's Private Birthday< + diff --git a/testing/tests/regression-suite/0964-REPORT-calquery-private.test b/testing/tests/regression-suite/0964-REPORT-calquery-private.test new file mode 100644 index 00000000..3564334c --- /dev/null +++ b/testing/tests/regression-suite/0964-REPORT-calquery-private.test @@ -0,0 +1,51 @@ +# +# REPORT on user1's calendar as a less privileged user +# +TYPE=REPORT +URL=http://mycaldav/caldav.php/user1/anotherone/ +AUTH=user4:user4 + +HEADER=User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.18pre) Gecko/20080917 Sunbird/0.9 +HEADER=Accept: text/xml +HEADER=Accept-Language: en-us,en;q=0.5 +HEADER=Accept-Charset: utf-8,*;q=0.1 +HEADER=Content-Type: text/xml; charset=utf-8 +HEADER=Depth: 1 +HEAD + +BEGINDATA + + + + + + + + + + + + + + +ENDDATA + +QUERY +SELECT calendar_item.rrule, + to_char(calendar_item.dtstart at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS start, + to_char(calendar_item.dtend at time zone 'GMT','YYYYMMDD"T"HH24MISS"Z"') AS finish, + class, + calendar_item.dav_name, + calendar_item.summary + FROM usr INNER JOIN collection USING (user_no) + INNER JOIN caldav_data USING (collection_id) + INNER JOIN calendar_item USING(dav_id) +WHERE collection.dav_name = '/user1/anotherone/' +AND collection.is_calendar +AND rrule_event_overlaps( dtstart, dtend, rrule, '20070101T000000Z', '20080803T110000Z' ) +AND caldav_data.caldav_type IN ( 'VEVENT', 'VFREEBUSY' ) +AND (calendar_item.transp != 'TRANSPARENT' OR calendar_item.transp IS NULL) +AND (calendar_item.status != 'CANCELLED' OR calendar_item.status IS NULL) +ORDER BY dav_id +ENDQUERY +