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; }
function testCalendarQueryTimeRangeNoEnd() { $backend = new Sabre_CalDAV_Backend_PDO($this->pdo); $backend->createCalendarObject(1, "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); $backend->createCalendarObject(1, "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $backend->createCalendarObject(1, "event2", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120103\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $filters = array('name' => 'VCALENDAR', 'comp-filters' => array(array('name' => 'VEVENT', 'comp-filters' => array(), 'prop-filters' => array(), 'is-not-defined' => false, 'time-range' => array('start' => new DateTime('20120102'), 'end' => null))), 'prop-filters' => array(), 'is-not-defined' => false, 'time-range' => null); $this->assertEquals(array("event2"), $backend->calendarQuery(1, $filters)); }