diff --git a/testing/tests/regression-suite/2250-RRULE-expansion-PUT.result b/testing/tests/regression-suite/2250-RRULE-expansion-PUT.result new file mode 100644 index 00000000..961d9eb3 --- /dev/null +++ b/testing/tests/regression-suite/2250-RRULE-expansion-PUT.result @@ -0,0 +1,46 @@ +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: "460f45321d679808addb06c1370d4253" +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:America/New_York +END:VTIMEZONE +BEGIN:VEVENT +SUMMARY:Repeating event +UID:complex-rrule-issue268 +DTSTART;TZID=America/New_York:20220720T091000 +RRULE:FREQ=MINUTELY;INTERVAL=15;BYDAY=MO,TU,WE,TH,FR;BYHOUR=9,10 + ,11,12,13,14,15,16 +END:VEVENT +END:VCALENDAR +< + caldav_type: >VEVENT< + class: >PUBLIC< + dav_etag: >460f45321d679808addb06c1370d4253< + description: >NULL< + dtend: >2022-07-20 09:10:00< + dtstart: >2022-07-20 09:10:00< + due: >NULL< + location: >NULL< + logged_user: >10< + percent_complete: >NULL< + priority: >NULL< + rrule: >FREQ=MINUTELY;INTERVAL=15;BYDAY=MO,TU,WE,TH,FR;BYHOUR=9,10,11,12,13,14,15,16< + status: >NULL< + summary: >Repeating event< + transp: >NULL< + tz_id: >America/New_York< + uid: >complex-rrule-issue268< + url: >NULL< + user_no: >10< + ~Duration: >00:00:00< + diff --git a/testing/tests/regression-suite/2250-RRULE-expansion-PUT.test b/testing/tests/regression-suite/2250-RRULE-expansion-PUT.test new file mode 100644 index 00000000..1e920c25 --- /dev/null +++ b/testing/tests/regression-suite/2250-RRULE-expansion-PUT.test @@ -0,0 +1,40 @@ +# +# Create a recurring event, ensure we can fetch future events. +# To test: https://gitlab.com/davical-project/davical/-/issues/268 +# +TYPE=PUT +URL=http://regression.host/caldav.php/user1/home/complex-rrule-issue268.ics +HEADER=Content-Type: text/calendar +HEAD + + +BEGINDATA +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//davical.org//NONSGML AWL Calendar//EN +CALSCALE:GREGORIAN +BEGIN:VTIMEZONE +TZID:America/New_York +END:VTIMEZONE +BEGIN:VEVENT +SUMMARY:Repeating event +UID:complex-rrule-issue268 +DTSTART;TZID=America/New_York:20220720T091000 +RRULE:FREQ=MINUTELY;INTERVAL=15;BYDAY=MO,TU,WE,TH,FR;BYHOUR=9,10 + ,11,12,13,14,15,16 +END:VEVENT +END:VCALENDAR +ENDDATA + +QUERY +SELECT caldav_data.user_no, caldav_data.dav_etag, caldav_type, logged_user, + uid, 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", + dtend - dtstart AS "~Duration" +FROM caldav_data JOIN calendar_item USING(dav_name) JOIN timezones ON (tz_id=tzid) +WHERE caldav_data.dav_name = +'/user1/home/complex-rrule-issue268.ics'; +ENDQUERY diff --git a/testing/tests/regression-suite/2251-RRULE-REPORT-1.result b/testing/tests/regression-suite/2251-RRULE-REPORT-1.result new file mode 100644 index 00000000..a733b9c2 --- /dev/null +++ b/testing/tests/regression-suite/2251-RRULE-REPORT-1.result @@ -0,0 +1,33 @@ +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: "looks like an etag" +Content-Length: 659 +Content-Type: text/xml; charset="utf-8" + + + + + /caldav.php/user1/home/complex-rrule-issue268.ics + + + "460f45321d679808addb06c1370d4253" + BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//davical.org//NONSGML AWL Calendar//EN +CALSCALE:GREGORIAN +BEGIN:VEVENT +SUMMARY:Repeating event +UID:complex-rrule-issue268 +DTSTART:20220720T155500Z +DURATION:P0D +RECURRENCE-ID:20220720T155500Z +END:VEVENT +END:VCALENDAR + + + HTTP/1.1 200 OK + + + diff --git a/testing/tests/regression-suite/2251-RRULE-REPORT-1.test b/testing/tests/regression-suite/2251-RRULE-REPORT-1.test new file mode 100644 index 00000000..250f4439 --- /dev/null +++ b/testing/tests/regression-suite/2251-RRULE-REPORT-1.test @@ -0,0 +1,36 @@ +# +# +# Fetch an instance from a recurring event. +# To test: https://gitlab.com/davical-project/davical/-/issues/268 +# +TYPE=REPORT +URL=http://regression.host/caldav.php/user1/home/ +HEADER=Content-Type: text/xml +HEADER=Depth: 1 +HEAD + + +BEGINDATA + + + + + + + + + + + + + + + + +ENDDATA + +REPLACE=/ETag: "[a-z0-9]+"/ETag: "looks like an etag"/ diff --git a/testing/tests/regression-suite/2252-RRULE-REPORT-2.result b/testing/tests/regression-suite/2252-RRULE-REPORT-2.result new file mode 100644 index 00000000..d8945f69 --- /dev/null +++ b/testing/tests/regression-suite/2252-RRULE-REPORT-2.result @@ -0,0 +1,33 @@ +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: "looks like an etag" +Content-Length: 659 +Content-Type: text/xml; charset="utf-8" + + + + + /caldav.php/user1/home/complex-rrule-issue268.ics + + + "460f45321d679808addb06c1370d4253" + BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//davical.org//NONSGML AWL Calendar//EN +CALSCALE:GREGORIAN +BEGIN:VEVENT +SUMMARY:Repeating event +UID:complex-rrule-issue268 +DTSTART:20220721T155500Z +DURATION:P0D +RECURRENCE-ID:20220721T155500Z +END:VEVENT +END:VCALENDAR + + + HTTP/1.1 200 OK + + + diff --git a/testing/tests/regression-suite/2252-RRULE-REPORT-2.test b/testing/tests/regression-suite/2252-RRULE-REPORT-2.test new file mode 100644 index 00000000..196a7adc --- /dev/null +++ b/testing/tests/regression-suite/2252-RRULE-REPORT-2.test @@ -0,0 +1,35 @@ +# +# Fetch a future instance from a recurring event. +# To test: https://gitlab.com/davical-project/davical/-/issues/268 +# +TYPE=REPORT +URL=http://regression.host/caldav.php/user1/home/ +HEADER=Content-Type: text/xml +HEADER=Depth: 1 +HEAD + + +BEGINDATA + + + + + + + + + + + + + + + + +ENDDATA + +REPLACE=/ETag: "[a-z0-9]+"/ETag: "looks like an etag"/