diff --git a/radicale/tests/static/event_issue2151.ics b/radicale/tests/static/event_issue2151.ics new file mode 100644 index 00000000..a72d3731 --- /dev/null +++ b/radicale/tests/static/event_issue2151.ics @@ -0,0 +1,116 @@ +BEGIN:VCALENDAR +PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:W. Europe Standard Time +BEGIN:STANDARD +DTSTART:16010101T030000 +RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10 +TZOFFSETFROM:+0200 +TZOFFSETTO:+0100 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:16010101T020000 +RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3 +TZOFFSETFROM:+0100 +TZOFFSETTO:+0200 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +CREATED:20260605T085814Z +LAST-MODIFIED:20260605T100722Z +DTSTAMP:20260605T100722Z +UID:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +SUMMARY:Billings-task-setting follow-up series +PRIORITY:5 +STATUS:CONFIRMED +ORGANIZER;CN=XXXXXXXX XXXXX:mailto:XXXXXXX@XXXXXXXXXXXXXX.XXX +ATTENDEE;RSVP=TRUE;CN=XX;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:XX@XXXXXXX.XXX +ATTENDEE;RSVP=TRUE;CN=XXXXXXXX XXXXXXX;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT:mailto:XXXXXXXXX@XXXXXXXXXXXXXX.XXX +ATTENDEE;RSVP=TRUE;CN=XXXXXX XXXXXXXX;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT:mailto:XXXXXXXXXX@XXXXXXXXXXXXXX.XXX +EXDATE:20260403T110000 +RRULE:FREQ=WEEKLY;BYDAY=FR;UNTIL=20260731T090000Z +X-MOZ-LASTACK:20260605T100722Z +DTSTART;TZID=W. Europe Standard Time:20260123T110000 +DTEND;TZID=W. Europe Standard Time:20260123T120000 +CLASS:PUBLIC +DESCRIPTION;LANGUAGE=de-DE:Serie war letzte Woche ausgelaufen\n\nMicrosoft Teams meeting details redacted.\n +LOCATION;LANGUAGE=de-DE:Microsoft Teams-Besprechung +SEQUENCE:0 +TRANSP:OPAQUE +X-MICROSOFT-CDO-ALLDAYEVENT:FALSE +X-MICROSOFT-CDO-APPT-SEQUENCE:0 +X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE +X-MICROSOFT-CDO-IMPORTANCE:1 +X-MICROSOFT-CDO-INSTTYPE:1 +X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY +X-MICROSOFT-CDO-OWNERAPPTID:XXXXXXXXXX +X-MICROSOFT-DISALLOW-COUNTER:FALSE +X-MICROSOFT-DONOTFORWARDMEETING:FALSE +X-MICROSOFT-ISRESPONSEREQUESTED:TRUE +X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams-Besprechung +X-MICROSOFT-LOCATIONS:[{"DisplayName":"Microsoft Teams-Besprechung"\,"LocationAnnotation":""\,"LocationUri":""\,"LocationStreet":""\,"LocationCity":""\,"LocationState":""\,"LocationCountry":""\,"LocationPostalCode":""\,"LocationFullAddress":""}] +X-MICROSOFT-LOCATIONSOURCE:None +X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"OnlineMeetingProvider":3} +X-MICROSOFT-REQUESTEDATTENDANCEMODE:DEFAULT +X-MICROSOFT-SCHEDULINGSERVICEUPDATEURL:REDACTED +X-MICROSOFT-SKYPETEAMSMEETINGURL:REDACTED +X-MICROSOFT-SKYPETEAMSPROPERTIES:REDACTED +X-MOZ-GENERATION:17 +X-MOZ-INVITED-ATTENDEE:mailto:XX@XXXXXXX.XXX +X-MOZ-RECEIVED-DTSTAMP:20260123T100333Z +X-MOZ-RECEIVED-SEQUENCE:0 +BEGIN:VALARM +ACTION:DISPLAY +TRIGGER:-PT5M +DESCRIPTION:Mozilla Standardbeschreibung +END:VALARM +END:VEVENT +BEGIN:VEVENT +CREATED:20260605T085814Z +LAST-MODIFIED:20260130T093740Z +DTSTAMP:20260130T093740Z +UID:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +SUMMARY:Billings-task-setting follow-up series +PRIORITY:5 +STATUS:CONFIRMED +RECURRENCE-ID;TZID=W. Europe Standard Time:20260130T110000 +ORGANIZER;CN=XXXXXXXX XXXXX:mailto:XXXXXXX@XXXXXXXXXXXXXX.XXX +ATTENDEE;RSVP=TRUE;CN=XXXXXXXX XXXXXXX;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT:mailto:XXXXXXXXX@XXXXXXXXXXXXXX.XXX +ATTENDEE;RSVP=TRUE;CN=XXXXXX XXXXXXXX;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT:mailto:XXXXXXXXXX@XXXXXXXXXXXXXX.XXX +ATTENDEE;RSVP=TRUE;CN=XX;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:XX@XXXXXXX.XXX +DTSTART;TZID=W. Europe Standard Time:20260130T103000 +DTEND;TZID=W. Europe Standard Time:20260130T113000 +CLASS:PUBLIC +DESCRIPTION:Serie war letzte Woche ausgelaufen\n\nMicrosoft Teams meeting details redacted.\n +LOCATION:Microsoft Teams-Besprechung +SEQUENCE:1 +TRANSP:OPAQUE +X-MICROSOFT-CDO-ALLDAYEVENT:FALSE +X-MICROSOFT-CDO-APPT-SEQUENCE:1 +X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE +X-MICROSOFT-CDO-IMPORTANCE:1 +X-MICROSOFT-CDO-INSTTYPE:3 +X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY +X-MICROSOFT-CDO-OWNERAPPTID:XXXXXXXXXX +X-MICROSOFT-DISALLOW-COUNTER:FALSE +X-MICROSOFT-DONOTFORWARDMEETING:FALSE +X-MICROSOFT-ISRESPONSEREQUESTED:TRUE +X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams-Besprechung +X-MICROSOFT-LOCATIONS:[{"DisplayName":"Microsoft Teams-Besprechung"\,"LocationAnnotation":""\,"LocationUri":""\,"LocationStreet":""\,"LocationCity":""\,"LocationState":""\,"LocationCountry":""\,"LocationPostalCode":""\,"LocationFullAddress":""}] +X-MICROSOFT-LOCATIONSOURCE:None +X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"OnlineMeetingProvider":3} +X-MICROSOFT-REQUESTEDATTENDANCEMODE:DEFAULT +X-MICROSOFT-SCHEDULINGSERVICEUPDATEURL:REDACTED +X-MICROSOFT-SKYPETEAMSMEETINGURL:REDACTED +X-MICROSOFT-SKYPETEAMSPROPERTIES:REDACTED +X-MOZ-GENERATION:0 +X-MOZ-RECEIVED-DTSTAMP:20260130T093205Z +X-MOZ-RECEIVED-SEQUENCE:1 +BEGIN:VALARM +ACTION:DISPLAY +TRIGGER:-PT5M +DESCRIPTION:Mozilla Standardbeschreibung +END:VALARM +END:VEVENT +END:VCALENDAR diff --git a/radicale/tests/test_base.py b/radicale/tests/test_base.py index 10f8b40d..733031e3 100644 --- a/radicale/tests/test_base.py +++ b/radicale/tests/test_base.py @@ -273,6 +273,12 @@ permissions: RrWw""") event = get_file_content("event_exdate_without_rrule.ics") self.put("/calendar.ics/event.ics", event) + def test_add_event_with_issue2151(self) -> None: + """Test event of issue#2151.""" + self.mkcalendar("/calendar.ics/") + event = get_file_content("event_issue2151.ics") + self.put("/calendar.ics/event_issue2151.ics", event) + def test_add_todo(self) -> None: """Add a todo.""" self.mkcalendar("/calendar.ics/")