function testBeforeMethodNoVersion() { if (!SABRE_HASSQLITE) { $this->markTestSkipped('SQLite driver is not available'); } $cbackend = TestUtil::getBackend(); $props = array('uri' => 'UUID-123467', 'principaluri' => 'admin', 'id' => 1); $tree = array(new Calendar($cbackend, $props)); $p = new ICSExportPlugin(); $s = new DAV\Server($tree); $s->addPlugin($p); $s->addPlugin(new Plugin()); $h = new HTTP\Request(array('QUERY_STRING' => 'export')); $s->httpRequest = $h; $s->httpResponse = new HTTP\ResponseMock(); DAV\Server::$exposeVersion = false; $this->assertFalse($p->beforeMethod('GET', 'UUID-123467?export')); DAV\Server::$exposeVersion = true; $this->assertEquals('HTTP/1.1 200 OK', $s->httpResponse->status); $this->assertEquals(array('Content-Type' => 'text/calendar'), $s->httpResponse->headers); $obj = VObject\Reader::read($s->httpResponse->body); $this->assertEquals(5, count($obj->children())); $this->assertEquals(1, count($obj->VERSION)); $this->assertEquals(1, count($obj->CALSCALE)); $this->assertEquals(1, count($obj->PRODID)); $this->assertFalse(strpos((string) $obj->PRODID, DAV\Version::VERSION) !== false); $this->assertEquals(1, count($obj->VTIMEZONE)); $this->assertEquals(1, count($obj->VEVENT)); }
function testBeforeMethodNoVersion() { if (!SABRE_HASSQLITE) { $this->markTestSkipped('SQLite driver is not available'); } $cbackend = TestUtil::getBackend(); $props = ['uri' => 'UUID-123467', 'principaluri' => 'admin', 'id' => 1]; $tree = [new Calendar($cbackend, $props)]; $p = new ICSExportPlugin(); $s = new DAV\Server($tree); $s->addPlugin($p); $s->addPlugin(new Plugin()); $h = HTTP\Sapi::createFromServerArray(['REQUEST_URI' => '/UUID-123467?export', 'REQUEST_METHOD' => 'GET']); $s->httpRequest = $h; $s->httpResponse = new HTTP\ResponseMock(); DAV\Server::$exposeVersion = false; $this->assertFalse($p->httpGet($h, $s->httpResponse)); DAV\Server::$exposeVersion = true; $this->assertEquals(200, $s->httpResponse->status); $this->assertEquals(['Content-Type' => 'text/calendar'], $s->httpResponse->getHeaders()); $obj = VObject\Reader::read($s->httpResponse->body); $this->assertEquals(5, count($obj->children())); $this->assertEquals(1, count($obj->VERSION)); $this->assertEquals(1, count($obj->CALSCALE)); $this->assertEquals(1, count($obj->PRODID)); $this->assertFalse(strpos((string) $obj->PRODID, DAV\Version::VERSION) !== false); $this->assertEquals(1, count($obj->VTIMEZONE)); $this->assertEquals(1, count($obj->VEVENT)); }
function testBeforeMethodNoVersion() { $request = new HTTP\Request('GET', '/calendars/admin/UUID-123467?export'); DAV\Server::$exposeVersion = false; $response = $this->request($request); DAV\Server::$exposeVersion = true; $this->assertEquals(200, $response->getStatus()); $this->assertEquals('text/calendar', $response->getHeader('Content-Type')); $obj = VObject\Reader::read($response->body); $this->assertEquals(8, count($obj->children())); $this->assertEquals(1, count($obj->VERSION)); $this->assertEquals(1, count($obj->CALSCALE)); $this->assertEquals(1, count($obj->PRODID)); $this->assertFalse(strpos((string) $obj->PRODID, DAV\Version::VERSION) !== false); $this->assertEquals(1, count($obj->VTIMEZONE)); $this->assertEquals(1, count($obj->VEVENT)); }