function testSchedulingMethods() { $backend = new PDO($this->pdo); $calData = "BEGIN:VCALENDAR\r\nEND:VCALENDAR\r\n"; $backend->createSchedulingObject('principals/user1', 'schedule1.ics', $calData); $expected = ['calendardata' => $calData, 'uri' => 'schedule1.ics', 'etag' => '"' . md5($calData) . '"', 'size' => strlen($calData)]; $result = $backend->getSchedulingObject('principals/user1', 'schedule1.ics'); foreach ($expected as $k => $v) { $this->assertArrayHasKey($k, $result); $this->assertEquals($v, $result[$k]); } $results = $backend->getSchedulingObjects('principals/user1'); $this->assertEquals(1, count($results)); $result = $results[0]; foreach ($expected as $k => $v) { $this->assertEquals($v, $result[$k]); } $backend->deleteSchedulingObject('principals/user1', 'schedule1.ics'); $result = $backend->getSchedulingObject('principals/user1', 'schedule1.ics'); $this->assertNull($result); }