diff --git a/testing/tests/regression-suite/2400-RFC5545-Compliance-MONHTLY-Setup.result b/testing/tests/regression-suite/2400-RFC5545-Compliance-MONHTLY-Setup.result new file mode 100644 index 00000000..bffdcab3 --- /dev/null +++ b/testing/tests/regression-suite/2400-RFC5545-Compliance-MONHTLY-Setup.result @@ -0,0 +1,64 @@ +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: "fa916ab734379e479662d1824da4c543" +Content-Length: 0 +Content-Type: text/plain; charset="utf-8" + + + CalDAV Data: >BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//davical.org//NONSGML AWL Calendar//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:VEVENT +UID:RFC5545-Compliance-MONTHLY +DTSTAMP:20210918T123000 +SUMMARY:I repeat monthly on the 31st +CREATED:20210918T123000 +DTSTART;TZID=Pacific/Auckland:20220131T070000 +DTEND;TZID=Pacific/Auckland:20220131T080000 +RRULE:FREQ=MONTHLY;BYMONTHDAY=31;COUNT=12 +END:VEVENT +END:VCALENDAR +< + caldav_type: >VEVENT< + class: >PUBLIC< + dav_etag: >fa916ab734379e479662d1824da4c543< + description: >NULL< + dtend: >2022-01-31 08:00:00< + dtstamp: >2021-09-18 12:30:00< + dtstart: >2022-01-31 07:00:00< + due: >NULL< + last_modified: >2021-09-18 12:30:00< + location: >NULL< + logged_user: >13< + percent_complete: >NULL< + priority: >NULL< + rrule: >FREQ=MONTHLY;BYMONTHDAY=31;COUNT=12< + status: >NULL< + summary: >I repeat monthly on the 31st< + transp: >NULL< + tz_id: >Pacific/Auckland< + uid: >RFC5545-Compliance-MONTHLY< + url: >NULL< + user_no: >13< + ~Duration: >01:00:00< + diff --git a/testing/tests/regression-suite/2400-RFC5545-Compliance-MONHTLY-Setup.test b/testing/tests/regression-suite/2400-RFC5545-Compliance-MONHTLY-Setup.test new file mode 100644 index 00000000..26ab80f4 --- /dev/null +++ b/testing/tests/regression-suite/2400-RFC5545-Compliance-MONHTLY-Setup.test @@ -0,0 +1,58 @@ +# +# Create an event that repeats monthly on the 31st. +# +TYPE=PUT +URL=http://regression.host/caldav.php/user4/home/RFC5545-Compliance-MONTHLY.ics +HEADER=Content-Type: text/calendar +AUTH=user4:user4 +HEAD + + +BEGINDATA +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//davical.org//NONSGML AWL Calendar//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:VEVENT +UID:RFC5545-Compliance-MONTHLY +DTSTAMP:20210918T123000 +SUMMARY:I repeat monthly on the 31st +CREATED:20210918T123000 +DTSTART;TZID=Pacific/Auckland:20220131T070000 +DTEND;TZID=Pacific/Auckland:20220131T080000 +RRULE:FREQ=MONTHLY;BYMONTHDAY=31;COUNT=12 +END:VEVENT +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, summary, location, + description, priority, class, transp, rrule, url, + percent_complete, tz_id, status, + caldav_data AS " CalDAV Data", calendar_item.last_modified, + dtend - dtstart AS "~Duration" +FROM caldav_data LEFT JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid) +WHERE caldav_data.dav_name = +'/user4/home/RFC5545-Compliance-MONTHLY.ics'; +ENDQUERY + diff --git a/testing/tests/regression-suite/2401-RFC5545-Compliance-MONHTLY-FREEBUSY.result b/testing/tests/regression-suite/2401-RFC5545-Compliance-MONHTLY-FREEBUSY.result new file mode 100644 index 00000000..95534a4e --- /dev/null +++ b/testing/tests/regression-suite/2401-RFC5545-Compliance-MONHTLY-FREEBUSY.result @@ -0,0 +1,24 @@ +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, bind, addressbook, calendar-auto-schedule, calendar-proxy +Content-Length: 530 +Content-Type: text/calendar;charset=UTF-8 + +BEGIN:VCALENDAR +PRODID:-//davical.org//NONSGML AWL Calendar//EN +VERSION:2.0 +CALSCALE:GREGORIAN +BEGIN:VFREEBUSY +DTSTAMP:yyyymmddThhmmssZ +DTSTART:20220101T000000Z +DTEND:20230110T000000Z +FREEBUSY:20220130T180000Z/20220130T190000Z +FREEBUSY:20220330T180000Z/20220330T190000Z +FREEBUSY:20220530T190000Z/20220530T200000Z +FREEBUSY:20220730T190000Z/20220730T200000Z +FREEBUSY:20220830T190000Z/20220830T200000Z +FREEBUSY:20221030T180000Z/20221030T190000Z +FREEBUSY:20221230T180000Z/20221230T190000Z +END:VFREEBUSY +END:VCALENDAR diff --git a/testing/tests/regression-suite/2401-RFC5545-Compliance-MONHTLY-FREEBUSY.test b/testing/tests/regression-suite/2401-RFC5545-Compliance-MONHTLY-FREEBUSY.test new file mode 100644 index 00000000..150b7947 --- /dev/null +++ b/testing/tests/regression-suite/2401-RFC5545-Compliance-MONHTLY-FREEBUSY.test @@ -0,0 +1,17 @@ +# +# Fetch the recurring events for the year. + +TYPE=REPORT +URL=http://regression.host/caldav.php/user4/home/ +HEADER=Content-Type: text/xml; charset="UTF-8" +AUTH=user4:user4 +HEAD + +BEGINDATA + + + + +ENDDATA + +REPLACE=/^DTSTAMP:\d{8}T\d{6}Z\r?$/DTSTAMP:yyyymmddThhmmssZ/ diff --git a/testing/tests/regression-suite/2402-RFC5545-Compliance-MONHTLY-CleanUp.result b/testing/tests/regression-suite/2402-RFC5545-Compliance-MONHTLY-CleanUp.result new file mode 100644 index 00000000..ce0c451c --- /dev/null +++ b/testing/tests/regression-suite/2402-RFC5545-Compliance-MONHTLY-CleanUp.result @@ -0,0 +1,6 @@ +HTTP/1.1 204 No Content +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 + + diff --git a/testing/tests/regression-suite/2402-RFC5545-Compliance-MONHTLY-CleanUp.test b/testing/tests/regression-suite/2402-RFC5545-Compliance-MONHTLY-CleanUp.test new file mode 100644 index 00000000..a6da4f5a --- /dev/null +++ b/testing/tests/regression-suite/2402-RFC5545-Compliance-MONHTLY-CleanUp.test @@ -0,0 +1,22 @@ +# +# Remove the event that repeats monthly on the 31st. +# +TYPE=DELETE +URL=http://regression.host/caldav.php/user4/home/RFC5545-Compliance-MONTHLY.ics +HEADER=Content-Type: text/calendar +AUTH=user4:user4 +HEAD + +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, summary, location, + description, priority, class, transp, rrule, url, + percent_complete, tz_id, status, + caldav_data AS " CalDAV Data", calendar_item.last_modified, + dtend - dtstart AS "~Duration" +FROM caldav_data LEFT JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid) +WHERE caldav_data.dav_name = +'/user4/home/RFC5545-Compliance-MONTHLY.ics'; +ENDQUERY +