コード例 #1
0
ファイル: ICSExportPluginTest.php プロジェクト: samj1912/repo
 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));
 }
コード例 #2
0
 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));
 }
コード例 #3
0
 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));
 }