|
@@ -0,0 +1,134 @@
|
|
|
+import icalendar.cal
|
|
|
+import pytest
|
|
|
+
|
|
|
+import ics2vdir
|
|
|
+
|
|
|
+
|
|
|
+@pytest.mark.parametrize(
|
|
|
+ ("event_a_ical", "event_b_ical", "expected_result"),
|
|
|
+ (
|
|
|
+ [
|
|
|
+ (
|
|
|
+ """BEGIN:VEVENT
|
|
|
+SUMMARY:party
|
|
|
+DTSTART:20201024T100000Z
|
|
|
+DTEND:20201026T120000Z
|
|
|
+DTSTAMP:20200205T160640Z
|
|
|
+UID:123456789@google.com
|
|
|
+SEQUENCE:0
|
|
|
+CREATED:20191231T103841Z
|
|
|
+DESCRIPTION:
|
|
|
+LAST-MODIFIED:20191231T103841Z
|
|
|
+LOCATION:
|
|
|
+STATUS:CONFIRMED
|
|
|
+TRANSP:OPAQUE
|
|
|
+END:VEVENT
|
|
|
+""",
|
|
|
+ """BEGIN:VEVENT
|
|
|
+SUMMARY:party
|
|
|
+DTSTART:20201024T100000Z
|
|
|
+DTEND:20201026T120000Z
|
|
|
+DTSTAMP:20200205T160640Z
|
|
|
+UID:123456789@google.com
|
|
|
+SEQUENCE:0
|
|
|
+CREATED:20191231T103841Z
|
|
|
+DESCRIPTION:
|
|
|
+LAST-MODIFIED:20191231T103841Z
|
|
|
+LOCATION:
|
|
|
+STATUS:CONFIRMED
|
|
|
+TRANSP:OPAQUE
|
|
|
+END:VEVENT
|
|
|
+""",
|
|
|
+ True,
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ """BEGIN:VEVENT
|
|
|
+SUMMARY:party
|
|
|
+DTSTART:20201024T100000Z
|
|
|
+DTEND:20201026T120000Z
|
|
|
+DTSTAMP:20200205T160640Z
|
|
|
+UID:123456789@google.com
|
|
|
+SEQUENCE:0
|
|
|
+CREATED:20191231T103841Z
|
|
|
+DESCRIPTION:
|
|
|
+LAST-MODIFIED:20191231T103841Z
|
|
|
+LOCATION:
|
|
|
+STATUS:CONFIRMED
|
|
|
+TRANSP:OPAQUE
|
|
|
+END:VEVENT
|
|
|
+""",
|
|
|
+ """BEGIN:VEVENT
|
|
|
+SUMMARY:party
|
|
|
+DTSTART:20201024T100000Z
|
|
|
+DTEND:20201026T120000Z
|
|
|
+DTSTAMP:20200205T160640Z
|
|
|
+UID:123456789@google.com
|
|
|
+SEQUENCE:0
|
|
|
+CREATED:20191231T103841Z
|
|
|
+DESCRIPTION:
|
|
|
+LAST-MODIFIED:20191231T103841Z
|
|
|
+STATUS:CONFIRMED
|
|
|
+TRANSP:OPAQUE
|
|
|
+END:VEVENT
|
|
|
+""",
|
|
|
+ False,
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ """BEGIN:VEVENT
|
|
|
+SUMMARY:party
|
|
|
+DTSTART:20201024T100000Z
|
|
|
+DTEND:20201026T120000Z
|
|
|
+DTSTAMP:20200205T160640Z
|
|
|
+UID:123456789@google.com
|
|
|
+SEQUENCE:0
|
|
|
+CREATED:20191231T103841Z
|
|
|
+LAST-MODIFIED:20191231T103841Z
|
|
|
+END:VEVENT
|
|
|
+""",
|
|
|
+ """BEGIN:VEVENT
|
|
|
+SUMMARY:party
|
|
|
+DTSTART:20201024T100000Z
|
|
|
+DTEND:20201026T120000Z
|
|
|
+DTSTAMP:20200205T160640Z
|
|
|
+UID:123456789@google.com
|
|
|
+SEQUENCE:1
|
|
|
+CREATED:20191231T103841Z
|
|
|
+LAST-MODIFIED:20191231T103841Z
|
|
|
+END:VEVENT
|
|
|
+""",
|
|
|
+ False,
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ """BEGIN:VEVENT
|
|
|
+SUMMARY:party
|
|
|
+DTSTART:20201024T100000Z
|
|
|
+DTEND:20201026T120000Z
|
|
|
+DTSTAMP:20200205T160640Z
|
|
|
+UID:123456789@google.com
|
|
|
+SEQUENCE:0
|
|
|
+CREATED:20191231T103841Z
|
|
|
+LAST-MODIFIED:20191231T103841Z
|
|
|
+END:VEVENT
|
|
|
+""",
|
|
|
+
|
|
|
+ """BEGIN:VEVENT
|
|
|
+SUMMARY:party
|
|
|
+DTSTART:20201024T100000Z
|
|
|
+DTEND:20201026T120000Z
|
|
|
+DTSTAMP:20200205T200640Z
|
|
|
+UID:123456789@google.com
|
|
|
+SEQUENCE:0
|
|
|
+CREATED:20191231T103841Z
|
|
|
+LAST-MODIFIED:20191231T103841Z
|
|
|
+END:VEVENT
|
|
|
+""",
|
|
|
+ True,
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+)
|
|
|
+def test__events_equal(event_a_ical, event_b_ical, expected_result):
|
|
|
+ event_a = icalendar.cal.Event.from_ical(event_a_ical)
|
|
|
+ event_b = icalendar.cal.Event.from_ical(event_b_ical)
|
|
|
+
|
|
|
+ assert ics2vdir._events_equal(event_a, event_b) == expected_result
|