function testCreateCalendarObject() { $backend = new Sabre_CalDAV_Backend_PDO($this->pdo); $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', array()); $backend->createCalendarObject($returnedId, 'random-id', 'calendar-data'); $data = $backend->getCalendarObject($returnedId, 'random-id'); $this->assertEquals('calendar-data', $data['calendardata']); $this->assertEquals($returnedId, $data['calendarid']); $this->assertEquals('random-id', $data['uri']); }
static function getSQLiteDB() { if (file_exists(SABRE_TEMPDIR . '/testdb.sqlite')) { unlink(SABRE_TEMPDIR . '/testdb.sqlite'); } $pdo = new PDO('sqlite:' . SABRE_TEMPDIR . '/testdb.sqlite'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Yup this is definitely not 'fool proof', but good enough for now. $queries = explode(';', file_get_contents(__DIR__ . '/../../../examples/sql/sqlite.calendars.sql')); foreach ($queries as $query) { $pdo->exec($query); } // Inserting events through a backend class. $backend = new Sabre_CalDAV_Backend_PDO($pdo); $calendarId = $backend->createCalendar('principals/user1', 'UUID-123467', array('{DAV:}displayname' => 'user1 calendar', '{urn:ietf:params:xml:ns:caldav}calendar-description' => 'Calendar description', '{http://apple.com/ns/ical/}calendar-order' => '1', '{http://apple.com/ns/ical/}calendar-color' => '#FF0000')); $backend->createCalendar('principals/user1', 'UUID-123468', array('{DAV:}displayname' => 'user1 calendar2', '{urn:ietf:params:xml:ns:caldav}calendar-description' => 'Calendar description', '{http://apple.com/ns/ical/}calendar-order' => '1', '{http://apple.com/ns/ical/}calendar-color' => '#FF0000')); $backend->createCalendarObject($calendarId, 'UUID-2345', self::getTestCalendarData()); return $pdo; }
/** * @depends testCreateCalendarObject */ function testDeleteCalendarObject() { $backend = new Sabre_CalDAV_Backend_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); }