Test adding an exception to a scheduled event

This commit is contained in:
Andrew Ruthven 2022-12-11 01:43:53 +13:00 committed by Andrew Ruthven
parent a9d438dc0f
commit c452173eca
7 changed files with 579 additions and 2 deletions

View File

@ -0,0 +1,140 @@
caldav_type: >VEVENT<
dav_name: >/user1/home/recurring-event.ics<
logged_user: >10<
summary: >Meeting with User1 weekly<
user_no: >10<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
ATTENDEE;CN=Manager 1;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;EMAIL=mana
ger1@example.net;ROLE=REQ-PARTICIPANT;RSVP=TRUE;SCHEDULE-STATUS=1.2:mail
to:manager1@example.net
ATTENDEE;CN=user1@example.net;CUTYPE=INDIVIDUAL;EMAIL=user1@example.net;
PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:user1@example.net
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:looks good
ORGANIZER;CN=User 1:mailto:user1@example.net
SEQUENCE:5
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=SA
END:VEVENT
END:VCALENDAR
<
caldav_type: >VEVENT<
dav_name: >/manager1/.in/recurring-event.ics<
logged_user: >10<
summary: >Meeting with User1 weekly<
user_no: >20<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
ATTENDEE;CN="Manager 1";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;EMAIL="m
anager1@example.net";ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:manager1@exam
ple.net
ATTENDEE;CN="user1@example.net";CUTYPE=INDIVIDUAL;EMAIL="user1@example.n
et";PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:user1@example.net
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:looks good
ORGANIZER;CN="User 1":mailto:user1@example.net
SEQUENCE:5
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=SA
END:VEVENT
END:VCALENDAR
<
caldav_type: >VEVENT<
dav_name: >/manager1/home/recurring-event.ics<
logged_user: >10<
summary: >Meeting with User1 weekly<
user_no: >20<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
ATTENDEE;CN="Manager 1";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;EMAIL="m
anager1@example.net";ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:manager1@exam
ple.net
ATTENDEE;CN="user1@example.net";CUTYPE=INDIVIDUAL;EMAIL="user1@example.n
et";PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:user1@example.net
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:looks good
ORGANIZER;CN="User 1":mailto:user1@example.net
SEQUENCE:5
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=SA
END:VEVENT
END:VCALENDAR
<

View File

@ -0,0 +1,68 @@
#
# Test event with recurrance
#
TYPE=PUT
URL=http://regression.host/user1/home/recurring-event.ics
HEADER=User-Agent: DAVKit/4.0.3 (732.2); CalendarStore/4.0.4 (997.7); iCal/4.0.4 (1395.7); Mac OS X/10.6.8 (10K549)
HEADER=Content-Type: text/calendar
# REPLACE=#<creationdate>\d{8}T\d{6}</creationdate>#<creationdate>YYYYMMDDThhmmss</creationdate>#
# REPLACE=/^DTSTAMP:\d{4}[01]\d[0123]\dT[012]\d[0-5]\d[0-6]\dZ\r?$/DTSTAMP:yyyymmddThhmmssZ/
# QUERY
# ENDQUERY
BEGINDATA
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
ATTENDEE;CN="Manager 1";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;EMAIL="m
anager1@example.net";ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:manager1@exa
mple.net
ATTENDEE;CN="user1@example.net";CUTYPE=INDIVIDUAL;EMAIL="user1@example.n
et";PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:user1@example.net
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:20111018T200107Z
ORGANIZER;CN="User 1":mailto:user1@example.net
SEQUENCE:5
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=SA
END:VEVENT
END:VCALENDAR
ENDDATA
QUERY
SELECT caldav_data.user_no, caldav_data.dav_name,
caldav_type, logged_user,
regexp_replace(caldav_data,'DTSTAMP:[0-9T]{15}Z','DTSTAMP:looks good') AS vcalendar,
summary
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid)
WHERE calendar_item.uid = 'recurring-event'
ORDER BY caldav_data.dav_id
ENDQUERY

View File

@ -0,0 +1,166 @@
caldav_type: >VEVENT<
dav_name: >/user1/home/recurring-event.ics<
logged_user: >10<
summary: >Meeting with User1 weekly<
user_no: >10<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
ATTENDEE;CN=Manager 1;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:
mailto:manager1@example.net
ATTENDEE;CN=user1@example.net;CUTYPE=INDIVIDUAL;EMAIL=user1@example.net;
PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT;SCHEDULE-STATUS=2.0:mailto:user1@
example.net
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:looks good
SEQUENCE:6
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=WE
EXDATE:TZID=Pacific/Auckland:20111026T100000
ORGANIZER;CN=Manager 1;SCHEDULE-STATUS=1.2:mailto:manager1@example.net
END:VEVENT
END:VCALENDAR
<
caldav_type: >VEVENT<
dav_name: >/manager1/.in/recurring-event.ics<
logged_user: >10<
summary: >Meeting with User1 weekly<
user_no: >20<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
ATTENDEE;CN="Manager 1";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;EMAIL="m
anager1@example.net";ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:manager1@exam
ple.net
ATTENDEE;CN="user1@example.net";CUTYPE=INDIVIDUAL;EMAIL="user1@example.n
et";PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:user1@example.net
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:looks good
ORGANIZER;CN="User 1":mailto:user1@example.net
SEQUENCE:5
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=SA
END:VEVENT
END:VCALENDAR
<
caldav_type: >VEVENT<
dav_name: >/manager1/home/recurring-event.ics<
logged_user: >10<
summary: >Meeting with User1 weekly<
user_no: >20<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:looks good
ORGANIZER;CN=User 1:mailto:user1@example.net
SEQUENCE:5
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=SA
ATTENDEE;CN=Manager 1;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;EMAIL=mana
ger1@example.net;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:manager1@example.
net
ATTENDEE;CN=user1@example.net;CUTYPE=INDIVIDUAL;EMAIL=user1@example.net;
PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT;SCHEDULE-STATUS=2.0:mailto:user1@
example.net
END:VEVENT
END:VCALENDAR
<
caldav_type: >VEVENT<
dav_name: >/manager1/.in/user1recurring-event.ics<
logged_user: >10<
summary: >NULL<
user_no: >20<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:recurring-event
DTEND:20111018T220000Z
DTSTART:20111018T210000Z
ORGANIZER;CN=User 1:mailto:user1@example.net
SEQUENCE:5
ATTENDEE;CN=user1@example.net;EMAIL=user1@example.net;PARTSTAT=ACCEPTED;
ROLE=REQ-PARTICIPANT:mailto:user1@example.net
DTSTAMP:looks good
REQUEST-STATUS:2.0
END:VEVENT
END:VCALENDAR
<

View File

@ -0,0 +1,70 @@
#
# Test event with recurrance, and an exception.
#
# There should be updated events posted to users' .in boxes.
#
TYPE=PUT
URL=http://regression.host/user1/home/recurring-event.ics
HEADER=User-Agent: DAVKit/4.0.3 (732.2); CalendarStore/4.0.4 (997.7); iCal/4.0.4 (1395.7); Mac OS X/10.6.8 (10K549)
HEADER=Content-Type: text/calendar
# REPLACE=#<creationdate>\d{8}T\d{6}</creationdate>#<creationdate>YYYYMMDDThhmmss</creationdate>#
# REPLACE=/^DTSTAMP:\d{4}[01]\d[0123]\dT[012]\d[0-5]\d[0-6]\dZ\r?$/DTSTAMP:yyyymmddThhmmssZ/
# QUERY
# ENDQUERY
BEGINDATA
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
ATTENDEE;CN="Manager 1";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:m
anager1@example.net
ATTENDEE;CN="user1@example.net";CUTYPE=INDIVIDUAL;EMAIL="user1@example.n
et";PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:user1@example.net
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:20111018T200107Z
ORGANIZER;CN="Manager 1":mailto:manager1@example.net
SEQUENCE:6
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=WE
EXDATE:TZID=Pacific/Auckland:20111026T100000
END:VEVENT
END:VCALENDAR
ENDDATA
QUERY
SELECT caldav_data.user_no, caldav_data.dav_name,
caldav_type, logged_user,
regexp_replace(caldav_data,'DTSTAMP:[0-9T]{15}Z','DTSTAMP:looks good') AS vcalendar,
summary
FROM caldav_data JOIN calendar_item USING(dav_name) LEFT JOIN timezones ON (tz_id=tzid)
WHERE calendar_item.uid = 'recurring-event'
ORDER BY caldav_data.dav_id
ENDQUERY

View File

@ -0,0 +1,112 @@
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
dav_name: >/manager1/.in/recurring-event.ics<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
ATTENDEE;CN="Manager 1";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;EMAIL="m
anager1@example.net";ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:manager1@exam
ple.net
ATTENDEE;CN="user1@example.net";CUTYPE=INDIVIDUAL;EMAIL="user1@example.n
et";PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:user1@example.net
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:looks good
ORGANIZER;CN="User 1":mailto:user1@example.net
SEQUENCE:5
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=SA
END:VEVENT
END:VCALENDAR
<
dav_name: >/manager1/home/recurring-event.ics<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
DTSTART:20070930T020000
TZNAME:GMT+13:00
TZOFFSETTO:+1300
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
DTSTART:20080406T030000
TZNAME:GMT+12:00
TZOFFSETTO:+1200
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20111018T195845Z
UID:recurring-event
DTEND;TZID=Pacific/Auckland:20111019T110000
TRANSP:OPAQUE
SUMMARY:Meeting with User1 weekly
DTSTART;TZID=Pacific/Auckland:20111019T100000
DTSTAMP:looks good
ORGANIZER;CN=User 1:mailto:user1@example.net
SEQUENCE:5
RRULE:FREQ=WEEKLY;WKST=SU;INTERVAL=1;COUNT=10;BYDAY=SA
ATTENDEE;CN=Manager 1;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;EMAIL=mana
ger1@example.net;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:manager1@example.
net
ATTENDEE;CN=user1@example.net;CUTYPE=INDIVIDUAL;EMAIL=user1@example.net;
PARTSTAT=DECLINED;ROLE=REQ-PARTICIPANT;SCHEDULE-STATUS=2.0:mailto:user1@
example.net
END:VEVENT
END:VCALENDAR
<
dav_name: >/manager1/.in/user1recurring-event.ics<
vcalendar: >BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:recurring-event
DTEND:20111018T220000Z
DTSTART:20111018T210000Z
ORGANIZER;CN=User 1:mailto:user1@example.net
SEQUENCE:5
ATTENDEE;CN=user1@example.net;EMAIL=user1@example.net;PARTSTAT=DECLINED;
ROLE=REQ-PARTICIPANT:mailto:user1@example.net
DTSTAMP:looks good
REQUEST-STATUS:2.0
END:VEVENT
END:VCALENDAR
<

View File

@ -0,0 +1,21 @@
#
# We now DELETE the organisers copy of the actual event.
#
TYPE=DELETE
URL=http://regression.host/user1/home/recurring-event.ics
HEADER=User-Agent: DAVKit/4.0.3 (732.2); CalendarStore/4.0.4 (997.7); iCal/4.0.4 (1395.7); Mac OS X/10.6.8 (10K549)
HEAD
#
# Query to confirm we got rid of it.
# - An event in the manager's calendar, with a PARTSTART=DECLINED for user 1
# - An iTIP message in the manager's inbox.
QUERY
SELECT calendar_item.dav_name,
regexp_replace(caldav_data,'DTSTAMP:[0-9T]{15}Z','DTSTAMP:looks good') AS vcalendar
FROM calendar_item JOIN caldav_data USING(dav_id, dav_name)
WHERE uid = 'recurring-event'
ORDER BY dav_id
ENDQUERY

View File

@ -5,7 +5,7 @@
setval
--------
1679
1683
(1 row)
setval
@ -125,7 +125,7 @@
setval
--------
49
50
(1 row)
setval