Mercurial > hg > rc1
view vendor/sabre/vobject/tests/VObject/ITip/BrokerProcessReplyTest.php @ 41:d2414df68d78 default tip
Updated by Alex S Grebenschikov (www.poralix.com)
to make it compatible with RoundCube 1.3.0
author | Charlie Root |
---|---|
date | Fri, 24 Jan 2025 14:20:15 -0500 |
parents | 430dbd5346f7 |
children |
line wrap: on
line source
<?php namespace Sabre\VObject\ITip; class BrokerProcessReplyTest extends BrokerTester { function testReplyNoOriginal() { $itip = <<<ICS BEGIN:VCALENDAR VERSION:2.0 METHOD:REPLY BEGIN:VEVENT SEQUENCE:2 UID:foobar ATTENDEE;PARTSTAT=ACCEPTED:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $old = null; $expected = null; $result = $this->process($itip, $old, $expected); } function testReplyAccept() { $itip = <<<ICS BEGIN:VCALENDAR VERSION:2.0 METHOD:REPLY BEGIN:VEVENT ATTENDEE;PARTSTAT=ACCEPTED:mailto:foo@example.org ORGANIZER:mailto:bar@example.org SEQUENCE:2 UID:foobar END:VEVENT END:VCALENDAR ICS; $old = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar ATTENDEE:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $expected = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar ATTENDEE;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.0:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $result = $this->process($itip, $old, $expected); } function testReplyRequestStatus() { $itip = <<<ICS BEGIN:VCALENDAR VERSION:2.0 METHOD:REPLY BEGIN:VEVENT UID:foobar REQUEST-STATUS:2.3;foo-bar! ATTENDEE;PARTSTAT=ACCEPTED:mailto:foo@example.org ORGANIZER:mailto:bar@example.org SEQUENCE:2 UID:foobar END:VEVENT END:VCALENDAR ICS; $old = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT UID:foobar SEQUENCE:2 ATTENDEE:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $expected = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT UID:foobar SEQUENCE:2 ATTENDEE;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.3:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $result = $this->process($itip, $old, $expected); } function testReplyPartyCrasher() { $itip = <<<ICS BEGIN:VCALENDAR VERSION:2.0 METHOD:REPLY BEGIN:VEVENT ATTENDEE;PARTSTAT=ACCEPTED:mailto:crasher@example.org ORGANIZER:mailto:bar@example.org SEQUENCE:2 UID:foobar END:VEVENT END:VCALENDAR ICS; $old = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar ATTENDEE:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $expected = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar ATTENDEE:mailto:foo@example.org ORGANIZER:mailto:bar@example.org ATTENDEE;PARTSTAT=ACCEPTED:mailto:crasher@example.org END:VEVENT END:VCALENDAR ICS; $result = $this->process($itip, $old, $expected); } function testReplyNewException() { // This is a reply to 1 instance of a recurring event. This should // automatically create an exception. $itip = <<<ICS BEGIN:VCALENDAR VERSION:2.0 METHOD:REPLY BEGIN:VEVENT ATTENDEE;PARTSTAT=ACCEPTED:mailto:foo@example.org ORGANIZER:mailto:bar@example.org SEQUENCE:2 RECURRENCE-ID:20140725T000000Z UID:foobar END:VEVENT END:VCALENDAR ICS; $old = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar RRULE:FREQ=DAILY DTSTART:20140724T000000Z ATTENDEE:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $expected = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar RRULE:FREQ=DAILY DTSTART:20140724T000000Z ATTENDEE:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT BEGIN:VEVENT SEQUENCE:2 UID:foobar DTSTART:20140725T000000Z ATTENDEE;PARTSTAT=ACCEPTED:mailto:foo@example.org ORGANIZER:mailto:bar@example.org RECURRENCE-ID:20140725T000000Z END:VEVENT END:VCALENDAR ICS; $result = $this->process($itip, $old, $expected); } function testReplyNewExceptionTz() { // This is a reply to 1 instance of a recurring event. This should // automatically create an exception. $itip = <<<ICS BEGIN:VCALENDAR VERSION:2.0 METHOD:REPLY BEGIN:VEVENT ATTENDEE;PARTSTAT=ACCEPTED:mailto:foo@example.org ORGANIZER:mailto:bar@example.org SEQUENCE:2 RECURRENCE-ID;TZID=America/Toronto:20140725T000000 UID:foobar END:VEVENT END:VCALENDAR ICS; $old = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar RRULE:FREQ=DAILY DTSTART;TZID=America/Toronto:20140724T000000 ATTENDEE:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $expected = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar RRULE:FREQ=DAILY DTSTART;TZID=America/Toronto:20140724T000000 ATTENDEE:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT BEGIN:VEVENT SEQUENCE:2 UID:foobar DTSTART;TZID=America/Toronto:20140725T000000 ATTENDEE;PARTSTAT=ACCEPTED:mailto:foo@example.org ORGANIZER:mailto:bar@example.org RECURRENCE-ID;TZID=America/Toronto:20140725T000000 END:VEVENT END:VCALENDAR ICS; $result = $this->process($itip, $old, $expected); } function testReplyPartyCrashCreateExcepton() { // IN this test there's a recurring event that has an exception. The // exception is missing the attendee. // // The attendee party crashes the instance, so it should show up in the // resulting object. $itip = <<<ICS BEGIN:VCALENDAR VERSION:2.0 METHOD:REPLY BEGIN:VEVENT ATTENDEE;PARTSTAT=ACCEPTED;CN=Crasher!:mailto:crasher@example.org ORGANIZER:mailto:bar@example.org SEQUENCE:2 RECURRENCE-ID:20140725T000000Z UID:foobar END:VEVENT END:VCALENDAR ICS; $old = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar RRULE:FREQ=DAILY DTSTART:20140724T000000Z ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $expected = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar RRULE:FREQ=DAILY DTSTART:20140724T000000Z ORGANIZER:mailto:bar@example.org END:VEVENT BEGIN:VEVENT SEQUENCE:2 UID:foobar DTSTART:20140725T000000Z ORGANIZER:mailto:bar@example.org RECURRENCE-ID:20140725T000000Z ATTENDEE;PARTSTAT=ACCEPTED;CN=Crasher!:mailto:crasher@example.org END:VEVENT END:VCALENDAR ICS; $result = $this->process($itip, $old, $expected); } function testReplyNewExceptionNoMasterEvent() { /** * This iTip message would normally create a new exception, but the * server is not able to create this new instance, because there's no * master event to clone from. * * This test checks if the message is ignored. */ $itip = <<<ICS BEGIN:VCALENDAR VERSION:2.0 METHOD:REPLY BEGIN:VEVENT ATTENDEE;PARTSTAT=ACCEPTED;CN=Crasher!:mailto:crasher@example.org ORGANIZER:mailto:bar@example.org SEQUENCE:2 RECURRENCE-ID:20140725T000000Z UID:foobar END:VEVENT END:VCALENDAR ICS; $old = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar RRULE:FREQ=DAILY DTSTART:20140724T000000Z RECURRENCE-ID:20140724T000000Z ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $expected = null; $result = $this->process($itip, $old, $expected); } /** * @depends testReplyAccept */ function testReplyAcceptUpdateRSVP() { $itip = <<<ICS BEGIN:VCALENDAR VERSION:2.0 METHOD:REPLY BEGIN:VEVENT ATTENDEE;PARTSTAT=ACCEPTED:mailto:foo@example.org ORGANIZER:mailto:bar@example.org SEQUENCE:2 UID:foobar END:VEVENT END:VCALENDAR ICS; $old = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar ATTENDEE;RSVP=TRUE:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $expected = <<<ICS BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT SEQUENCE:2 UID:foobar ATTENDEE;PARTSTAT=ACCEPTED;SCHEDULE-STATUS=2.0:mailto:foo@example.org ORGANIZER:mailto:bar@example.org END:VEVENT END:VCALENDAR ICS; $result = $this->process($itip, $old, $expected); } }