Blame view
sources/3rdparty/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php
2.99 KB
|
6d9380f96
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
<?php
namespace Sabre\DAV\Browser;
use Sabre\DAV;
use Sabre\HTTP;
require_once 'Sabre/DAV/AbstractServer.php';
class PluginTest extends DAV\AbstractServer{
function setUp() {
parent::setUp();
$this->server->addPlugin(new Plugin());
}
function testCollectionGet() {
$serverVars = array(
'REQUEST_URI' => '/dir',
'REQUEST_METHOD' => 'GET',
);
$request = new HTTP\Request($serverVars);
$this->server->httpRequest = ($request);
$this->server->exec();
$this->assertEquals('HTTP/1.1 200 OK',$this->response->status);
$this->assertEquals(array(
'Content-Type' => 'text/html; charset=utf-8',
),
$this->response->headers
);
$this->assertTrue(strpos($this->response->body, 'Index for dir/') !== false);
$this->assertTrue(strpos($this->response->body, '<a href="/dir/child.txt"><img src="/?sabreAction=asset&assetName=icons%2Ffile.png" alt="" width="24" />')!==false);
}
function testNotFound() {
$serverVars = array(
'REQUEST_URI' => '/random',
'REQUEST_METHOD' => 'GET',
);
$request = new HTTP\Request($serverVars);
$this->server->httpRequest = ($request);
$this->server->exec();
$this->assertEquals('HTTP/1.1 404 Not Found',$this->response->status);
}
function testPostOtherContentType() {
$serverVars = array(
'REQUEST_URI' => '/',
'REQUEST_METHOD' => 'POST',
'CONTENT_TYPE' => 'text/xml',
);
$request = new HTTP\Request($serverVars);
$this->server->httpRequest = $request;
$this->server->exec();
$this->assertEquals('HTTP/1.1 501 Not Implemented', $this->response->status);
}
function testPostNoSabreAction() {
$serverVars = array(
'REQUEST_URI' => '/',
'REQUEST_METHOD' => 'POST',
'CONTENT_TYPE' => 'application/x-www-form-urlencoded',
);
$postVars = array();
$request = new HTTP\Request($serverVars,$postVars);
$this->server->httpRequest = $request;
$this->server->exec();
$this->assertEquals('HTTP/1.1 501 Not Implemented', $this->response->status);
}
function testPostMkCol() {
$serverVars = array(
'REQUEST_URI' => '/',
'REQUEST_METHOD' => 'POST',
'CONTENT_TYPE' => 'application/x-www-form-urlencoded',
);
$postVars = array(
'sabreAction' => 'mkcol',
'name' => 'new_collection',
);
$request = new HTTP\Request($serverVars,$postVars);
$this->server->httpRequest = $request;
$this->server->exec();
$this->assertEquals('HTTP/1.1 302 Found', $this->response->status);
$this->assertEquals(array(
'Location' => '/',
), $this->response->headers);
$this->assertTrue(is_dir(SABRE_TEMPDIR . '/new_collection'));
}
}
|