diff --git a/radicale/tests/static/event_timezone_seconds.ics b/radicale/tests/static/event_timezone_seconds.ics new file mode 100644 index 0000000..12a8439 --- /dev/null +++ b/radicale/tests/static/event_timezone_seconds.ics @@ -0,0 +1,31 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Apple Inc.//Mac OS X 10.13.4//EN +CALSCALE:GREGORIAN +BEGIN:VTIMEZONE +TZID:Europe/Moscow +BEGIN:STANDARD +TZOFFSETFROM:+023017 +DTSTART:20010101T000000 +TZNAME:GMT+3 +TZOFFSETTO:+023017 +END:STANDARD +END:VTIMEZONE +BEGIN:VEVENT +CREATED:20180420T193555Z +UID:E96B9F38-8F70-4F1D-AAAC-2CD0BAC40551 +DTEND;TZID=Europe/Moscow:20180420T130000 +TRANSP:OPAQUE +X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:AUTOMATIC +SUMMARY:ня — 2 +DTSTART;TZID=Europe/Moscow:20180420T120000 +DTSTAMP:20180420T200353Z +SEQUENCE:0 +BEGIN:VALARM +X-WR-ALARMUID:06071073-A112-40CA-83AA-C05F54736B36 +UID:06071073-A112-40CA-83AA-C05F54736B36 +TRIGGER;VALUE=DATE-TIME:19760401T005545Z +ACTION:NONE +END:VALARM +END:VEVENT +END:VCALENDAR diff --git a/radicale/tests/test_base.py b/radicale/tests/test_base.py index ab0c26d..7c43cc5 100644 --- a/radicale/tests/test_base.py +++ b/radicale/tests/test_base.py @@ -1405,6 +1405,14 @@ class BaseRequestsMixIn: assert status == 404 assert headers.get("test") == "123" + def test_timezone_seconds(self): + """Verify that timezones with minutes and seconds work.""" + status, _, _ = self.request("MKCALENDAR", "/calendar.ics/") + assert status == 201 + event = get_file_content("event_timezone_seconds.ics") + status, _, _ = self.request("PUT", "/calendar.ics/event.ics", event) + assert status == 201 + def test_missing_uid(self): """Verify that missing UIDs are added in a stable manner.""" status, _, _ = self.request("MKCALENDAR", "/calendar.ics/")