/** * @depends testUpdateInvites */ function testDeleteSharedCalendar() { $backend = new PDO($this->pdo); // creating a new calendar $backend->createCalendar('principals/user1', 'somerandomid', []); $calendar = $backend->getCalendarsForUser('principals/user1')[0]; $ownerSharee = new Sharee(['href' => 'principals/user1', 'principal' => 'principals/user1', 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED]); // Add a new invite $backend->updateInvites($calendar['id'], [new Sharee(['href' => 'mailto:user@example.org', 'principal' => 'principals/user2', 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READ, 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, 'properties' => ['{DAV:}displayname' => 'User 2']])]); $expectedCalendar = ['id' => [1, 2], 'principaluri' => 'principals/user2', '{http://calendarserver.org/ns/}getctag' => 'http://sabre.io/ns/sync/1', '{http://sabredav.org/ns}sync-token' => '1', 'share-access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READ, 'read-only' => true, 'share-resource-uri' => '/ns/share/1']; $calendars = $backend->getCalendarsForUser('principals/user2'); foreach ($expectedCalendar as $k => $v) { $this->assertEquals($v, $calendars[0][$k], "Key " . $k . " in calendars array did not have the expected value."); } // Removing the shared calendar. $backend->deleteCalendar($calendars[0]['id']); $this->assertEquals([], $backend->getCalendarsForUser('principals/user2')); $result = $backend->getInvites($calendar['id']); $expected = [new Sharee(['href' => 'principals/user1', 'principal' => 'principals/user1', 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED])]; $this->assertEquals($expected, $result); }
function testGetChanges() { $backend = new PDO($this->pdo); $id = $backend->createCalendar('principals/user1', 'bla', []); $result = $backend->getChangesForCalendar($id, null, 1); $this->assertEquals(['syncToken' => 1, 'modified' => [], 'deleted' => [], 'added' => []], $result); $currentToken = $result['syncToken']; $dummyTodo = "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"; $backend->createCalendarObject($id, "todo1.ics", $dummyTodo); $backend->createCalendarObject($id, "todo2.ics", $dummyTodo); $backend->createCalendarObject($id, "todo3.ics", $dummyTodo); $backend->updateCalendarObject($id, "todo1.ics", $dummyTodo); $backend->deleteCalendarObject($id, "todo2.ics"); $result = $backend->getChangesForCalendar($id, $currentToken, 1); $this->assertEquals(['syncToken' => 6, 'modified' => ["todo1.ics"], 'deleted' => ["todo2.ics"], 'added' => ["todo3.ics"]], $result); $result = $backend->getChangesForCalendar($id, null, 1); $this->assertEquals(['syncToken' => 6, 'modified' => [], 'deleted' => [], 'added' => ["todo1.ics", "todo3.ics"]], $result); }
/** * @depends testCreateCalendarObject */ function testDeleteCalendarObject() { $backend = new PDO($this->pdo); $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', array()); $object = "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"; $backend->createCalendarObject($returnedId, 'random-id', $object); $backend->deleteCalendarObject($returnedId, 'random-id'); $data = $backend->getCalendarObject($returnedId, 'random-id'); $this->assertNull($data); }