mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-07-09 18:08:49 +00:00
Initial Release of the calendar plugin
This commit is contained in:
parent
45cc9885fc
commit
7115197a33
561 changed files with 189494 additions and 0 deletions
76
dav/SabreDAV/tests/Sabre/DAV/PartialUpdate/FileMock.php
Normal file
76
dav/SabreDAV/tests/Sabre/DAV/PartialUpdate/FileMock.php
Normal file
|
@ -0,0 +1,76 @@
|
|||
<?php
|
||||
|
||||
class Sabre_DAV_PartialUpdate_FileMock implements Sabre_DAV_PartialUpdate_IFile {
|
||||
|
||||
protected $data = '';
|
||||
|
||||
function put($str) {
|
||||
|
||||
if (is_resource($str)) {
|
||||
$str = stream_get_contents($str);
|
||||
}
|
||||
$this->data = $str;
|
||||
|
||||
}
|
||||
|
||||
function putRange($str,$start) {
|
||||
|
||||
if (is_resource($str)) {
|
||||
$str = stream_get_contents($str);
|
||||
}
|
||||
$this->data = substr($this->data, 0, $start) . $str . substr($this->data, $start + strlen($str));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function get() {
|
||||
|
||||
return $this->data;
|
||||
|
||||
}
|
||||
|
||||
function getContentType() {
|
||||
|
||||
return 'text/plain';
|
||||
|
||||
}
|
||||
|
||||
function getSize() {
|
||||
|
||||
return strlen($this->data);
|
||||
|
||||
}
|
||||
|
||||
function getETag() {
|
||||
|
||||
return '"' . $this->data . '"';
|
||||
|
||||
}
|
||||
|
||||
function delete() {
|
||||
|
||||
throw new Sabre_DAV_Exception_MethodNotAllowed();
|
||||
|
||||
}
|
||||
|
||||
function setName($name) {
|
||||
|
||||
throw new Sabre_DAV_Exception_MethodNotAllowed();
|
||||
|
||||
}
|
||||
|
||||
function getName() {
|
||||
|
||||
return 'partial';
|
||||
|
||||
}
|
||||
|
||||
function getLastModified() {
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
125
dav/SabreDAV/tests/Sabre/DAV/PartialUpdate/PluginTest.php
Normal file
125
dav/SabreDAV/tests/Sabre/DAV/PartialUpdate/PluginTest.php
Normal file
|
@ -0,0 +1,125 @@
|
|||
<?php
|
||||
|
||||
require_once 'Sabre/DAV/PartialUpdate/FileMock.php';
|
||||
|
||||
class Sabre_DAV_PartialUpdate_PluginTest extends Sabre_DAVServerTest {
|
||||
|
||||
protected $node;
|
||||
protected $plugin;
|
||||
|
||||
public function setUp() {
|
||||
|
||||
$this->node = new Sabre_DAV_PartialUpdate_FileMock();
|
||||
$this->tree[] = $this->node;
|
||||
|
||||
parent::setUp();
|
||||
|
||||
$this->plugin = new Sabre_DAV_PartialUpdate_Plugin();
|
||||
$this->server->addPlugin($this->plugin);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function testInit() {
|
||||
|
||||
$this->assertEquals('partialupdate', $this->plugin->getPluginName());
|
||||
$this->assertEquals(array('sabredav-partialupdate'), $this->plugin->getFeatures());
|
||||
$this->assertEquals(array(
|
||||
'PATCH'
|
||||
), $this->plugin->getHTTPMethods('partial'));
|
||||
$this->assertEquals(array(
|
||||
), $this->plugin->getHTTPMethods(''));
|
||||
|
||||
$this->assertNull($this->plugin->unknownMethod('FOO','partial'));
|
||||
|
||||
}
|
||||
|
||||
public function testPatchNoRange() {
|
||||
|
||||
$this->node->put('00000000');
|
||||
$request = new Sabre_HTTP_Request(array(
|
||||
'REQUEST_METHOD' => 'PATCH',
|
||||
'REQUEST_URI' => '/partial',
|
||||
));
|
||||
$response = $this->request($request);
|
||||
|
||||
$this->assertEquals('HTTP/1.1 400 Bad request', $response->status, 'Full response body:' . $response->body);
|
||||
|
||||
}
|
||||
|
||||
public function testPatchNotSupported() {
|
||||
|
||||
$this->node->put('00000000');
|
||||
$request = new Sabre_HTTP_Request(array(
|
||||
'REQUEST_METHOD' => 'PATCH',
|
||||
'REQUEST_URI' => '/',
|
||||
'X_UPDATE_RANGE' => '3-4',
|
||||
|
||||
));
|
||||
$request->setBody(
|
||||
'111'
|
||||
);
|
||||
$response = $this->request($request);
|
||||
|
||||
$this->assertEquals('HTTP/1.1 405 Method Not Allowed', $response->status, 'Full response body:' . $response->body);
|
||||
|
||||
}
|
||||
|
||||
public function testPatchNoContentType() {
|
||||
|
||||
$this->node->put('00000000');
|
||||
$request = new Sabre_HTTP_Request(array(
|
||||
'REQUEST_METHOD' => 'PATCH',
|
||||
'REQUEST_URI' => '/partial',
|
||||
'HTTP_X_UPDATE_RANGE' => 'bytes=3-4',
|
||||
|
||||
));
|
||||
$request->setBody(
|
||||
'111'
|
||||
);
|
||||
$response = $this->request($request);
|
||||
|
||||
$this->assertEquals('HTTP/1.1 415 Unsupported Media Type', $response->status, 'Full response body:' . $response->body);
|
||||
|
||||
}
|
||||
|
||||
public function testPatchBadRange() {
|
||||
|
||||
$this->node->put('00000000');
|
||||
$request = new Sabre_HTTP_Request(array(
|
||||
'REQUEST_METHOD' => 'PATCH',
|
||||
'REQUEST_URI' => '/partial',
|
||||
'HTTP_X_UPDATE_RANGE' => 'bytes=3-4',
|
||||
'HTTP_CONTENT_TYPE' => 'application/x-sabredav-partialupdate',
|
||||
));
|
||||
$request->setBody(
|
||||
'111'
|
||||
);
|
||||
$response = $this->request($request);
|
||||
|
||||
$this->assertEquals('HTTP/1.1 416 Requested Range Not Satisfiable', $response->status, 'Full response body:' . $response->body);
|
||||
|
||||
}
|
||||
|
||||
public function testPatchSuccess() {
|
||||
|
||||
$this->node->put('00000000');
|
||||
$request = new Sabre_HTTP_Request(array(
|
||||
'REQUEST_METHOD' => 'PATCH',
|
||||
'REQUEST_URI' => '/partial',
|
||||
'HTTP_X_UPDATE_RANGE' => 'bytes=3-5',
|
||||
'HTTP_CONTENT_TYPE' => 'application/x-sabredav-partialupdate',
|
||||
'HTTP_CONTENT_LENGTH' => 3,
|
||||
));
|
||||
$request->setBody(
|
||||
'111'
|
||||
);
|
||||
$response = $this->request($request);
|
||||
|
||||
$this->assertEquals('HTTP/1.1 204 No Content', $response->status, 'Full response body:' . $response->body);
|
||||
$this->assertEquals('00111000', $this->node->get());
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue