summaryrefslogtreecommitdiffstats
path: root/src/testing/data.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/testing/data.rs')
-rw-r--r--src/testing/data.rs304
1 files changed, 304 insertions, 0 deletions
diff --git a/src/testing/data.rs b/src/testing/data.rs
new file mode 100644
index 0000000..9237889
--- /dev/null
+++ b/src/testing/data.rs
@@ -0,0 +1,304 @@
+// from https://tools.ietf.org/html/rfc5545#section-3.6.1
+pub static TEST_EVENT_MULTIDAY_ALLDAY: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:20070423T123432Z-541111@example.com
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628
+ DTEND;VALUE=DATE:20070709
+ SUMMARY:Festival International de Jazz de Montreal
+ LOCATION:LDB Lobby
+ TRANSP:TRANSPARENT
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_EVENT_MULTIDAY: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:20070423T123432Z-541111@example.com
+ DTSTAMP:20070423T123432Z
+ DTSTART:20070628T132900
+ DTEND:20070709T072900
+ SUMMARY:Festival International de Jazz de Montreal
+ LOCATION:LDB Lobby
+ TRANSP:TRANSPARENT
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_EVENT_MULTIDAY_LASTMODIFIED: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:20070423T123432Z-541111@example.com
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628T132900
+ DTEND;VALUE=DATE:20070709T072900
+ SUMMARY:Festival International de Jazz de Montreal
+ LAST-MODIFIED:20070423T123432Z
+ LOCATION:LDB Lobby
+ TRANSP:TRANSPARENT
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_DTSTART_ONLY_DATE: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:20070423T123432Z-541111@example.com
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628
+ SUMMARY:Festival International de Jazz de Montreal
+ LOCATION:LDB Lobby
+ TRANSP:TRANSPARENT
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_DTSTART_ONLY_DATETIME: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:20070423T123432Z-541111@example.com
+ DTSTAMP:20070423T123432Z
+ DTSTART:20070628T132900
+ SUMMARY:Festival International de Jazz de Montreal
+ LOCATION:LDB Lobby
+ TRANSP:TRANSPARENT
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_EVENT_EMPTY_SUMMARY: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:20070423T123432Z-541111@example.com
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628
+ DTEND;VALUE=DATE:20070709
+ SUMMARY:
+ LOCATION:LDB Lobby
+ TRANSP:TRANSPARENT
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_EVENT_NO_UID: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628
+ DTEND;VALUE=DATE:20070709
+ SUMMARY:Festival International de Jazz de Montreal
+ LOCATION:LDB Lobby
+ TRANSP:TRANSPARENT
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_EVENT_NO_PRODID: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ BEGIN:VEVENT
+ UID:20070423T123432Z-541111@example.com
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628
+ DTEND;VALUE=DATE:20070709
+ SUMMARY:Festival International de Jazz de Montreal
+ LOCATION:LDB Lobby
+ TRANSP:TRANSPARENT
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+// from https://tools.ietf.org/html/rfc5545#section-4
+pub static TEST_EVENT_ONE_MEETING: &str = indoc!(
+ r"
+ BEGIN:VCALENDAR
+ METHOD:xyz
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ DTSTAMP:19970324T120000Z
+ SEQUENCE:0
+ UID:uid3@example.com
+ ORGANIZER:mailto:jdoe@example.com
+ ATTENDEE;RSVP=TRUE:mailto:jsmith@example.com
+ DTSTART:19970324T123000Z
+ DTEND:19970324T210000Z
+ CATEGORIES:MEETING,PROJECT
+ CLASS:PUBLIC
+ SUMMARY:Calendaring Interoperability Planning Meeting
+ DESCRIPTION:Discuss how we can test c&s interoperability\n
+ using iCalendar and other IETF standards.
+ LOCATION:LDB Lobby
+ ATTACH;FMTTYPE=application/postscript:ftp://example.com/pub/conf/bkgrnd.ps
+ END:VEVENT
+ END:VCALENDAR
+
+"
+);
+
+pub static TEST_EVENT_RECUR: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:autocryptthursday
+ DTSTART;VALUE=DATE:20181011
+ DURATION:P2D
+ SUMMARY:Autocrypt Thursdays
+ RRULE:FREQ=WEEKLY;COUNT=10
+ END:VEVENT
+ END:VCALENDAR
+
+"
+);
+
+pub static TEST_EVENT_WITH_TIMEZONE_COMPONENT: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//PIMUTILS.ORG//NONSGML khal / icalendar //EN
+ BEGIN:VTIMEZONE
+ TZID:Europe/Berlin
+ BEGIN:DAYLIGHT
+ DTSTART;VALUE=DATE-TIME:20180325T030000
+ TZNAME:CEST
+ TZOFFSETFROM:+0100
+ TZOFFSETTO:+0200
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ DTSTART;VALUE=DATE-TIME:20181028T020000
+ TZNAME:CET
+ TZOFFSETFROM:+0200
+ TZOFFSETTO:+0100
+ END:STANDARD
+ END:VTIMEZONE
+ BEGIN:VEVENT
+ SUMMARY:Some Event
+ DTSTART;TZID=Europe/Berlin;VALUE=DATE-TIME:20181026T133000
+ DTEND;TZID=Europe/Berlin;VALUE=DATE-TIME:20181026T160000
+ DTSTAMP;VALUE=DATE-TIME:20181022T145405Z
+ UID:O2G1SKNFDGC1OZ1675I1A9OFQOFZXTNONYNO
+ SEQUENCE:1
+ LOCATION:Some Location
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_MULTIPLE_EVENTS: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:uid1
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628
+ SUMMARY:First Event
+ END:VEVENT
+ BEGIN:VEVENT
+ UID:uid2
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628
+ SUMMARY:Second Event
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_NO_DTSTART: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:uid3
+ DTSTAMP:20070423T123432Z
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_NO_SUMMARY: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:uid3
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+pub static TEST_BARE_EVENT: &str = indoc!(
+ "
+ BEGIN:VEVENT
+ UID:uid4
+ DTSTAMP:20070423T123432Z
+ DTSTART;VALUE=DATE:20070628
+ END:VEVENT
+"
+);
+
+pub static TEST_EVENT_WITH_X_LIC_ERROR: &str = indoc!(
+ "
+ BEGIN:VCALENDAR
+ PRODID:CommuniGate Pro 6.2.5
+ VERSION:2.0
+ BEGIN:VEVENT
+ DTSTAMP:20180821T103922Z
+ UID:1
+ SUMMARY:Summary
+ DTSTART:20180516T093000Z
+ DTEND:20180516T110000Z
+ X-MICROSOFT-CDO-BUSYSTATUS:BUSY
+ LAST-MODIFIED:20180821T103105Z
+ CREATED:20180404T130941Z
+ PRIORITY:5
+ STATUS:CONFIRMED
+ X-LIC-ERROR:No value for LOCATION property. Removing entire property:
+ END:VEVENT
+ END:VCALENDAR
+"
+);
+
+use chrono::{DateTime, TimeZone, Utc};
+lazy_static! {
+ pub static ref NOW_TEST: DateTime<Utc> = Utc.ymd(2013, 01, 01).and_hms(1, 2, 3);
+}