예제 #1
0
 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']);
 }
 function setup()
 {
     if (!SABRE_HASSQLITE) {
         $this->markTestSkipped('SQLite driver is not available');
     }
     $this->backend = Sabre_CalDAV_TestUtil::getBackend();
     $this->principalBackend = new Sabre_DAVACL_MockPrincipalBackend();
     $calendars = $this->backend->getCalendarsForUser('principals/user1');
     $this->assertEquals(2, count($calendars));
     $this->calendar = new Sabre_CalDAV_Calendar($this->principalBackend, $this->backend, $calendars[0]);
 }
 /**
  * @depends testSimple
  */
 function testCreateExtendedCollection()
 {
     $result = $this->usercalendars->createExtendedCollection('newcalendar', array('{DAV:}collection', '{urn:ietf:params:xml:ns:caldav}calendar'), array());
     $this->assertNull($result);
     $cals = $this->backend->getCalendarsForUser('principals/user1');
     $this->assertEquals(3, count($cals));
 }
예제 #4
0
 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;
 }
예제 #5
0
 function testBrowserPostAction()
 {
     $r = $this->server->broadcastEvent('onBrowserPostAction', array('calendars/user1', 'mkcalendar', array('name' => 'NEWCALENDAR', '{DAV:}displayname' => 'foo')));
     $this->assertFalse($r);
     $calendars = $this->caldavBackend->getCalendarsForUser('principals/user1');
     $this->assertEquals(3, count($calendars));
     $newCalendar = null;
     foreach ($calendars as $calendar) {
         if ($calendar['uri'] === 'NEWCALENDAR') {
             $newCalendar = $calendar;
             break;
         }
     }
     if (!$newCalendar) {
         $this->fail('Could not find newly created calendar');
     }
 }
예제 #6
0
 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));
 }
예제 #7
0
 function testDelete()
 {
     $this->calendar->delete();
     $calendars = $this->backend->getCalendarsForUser('principals/user1');
     $this->assertEquals(1, count($calendars));
 }