Browse Source

provide info about plugin, and do not run commit ourselves on proppatch

tags/v9.0beta1
Arthur Schiwon 8 years ago
parent
commit
a5c528ff7e

+ 0
- 1
apps/dav/lib/comments/commentnode.php View File

@@ -170,7 +170,6 @@ class CommentNode implements \Sabre\DAV\INode, \Sabre\DAV\IProperties {
function propPatch(PropPatch $propPatch) {
// other properties than 'message' are read only
$propPatch->handle('{'.self::NS_OWNCLOUD.'}message', [$this, 'updateComment']);
$propPatch->commit();
}

/**

+ 14
- 1
apps/dav/lib/comments/commentsplugin.php View File

@@ -43,6 +43,7 @@ class CommentsPlugin extends ServerPlugin {
// namespace
const NS_OWNCLOUD = 'http://owncloud.org/ns';

const REPORT_NAME = '{http://owncloud.org/ns}filter-comments';
const REPORT_PARAM_LIMIT = '{http://owncloud.org/ns}limit';
const REPORT_PARAM_OFFSET = '{http://owncloud.org/ns}offset';
const REPORT_PARAM_TIMESTAMP = '{http://owncloud.org/ns}datetime';
@@ -124,6 +125,18 @@ class CommentsPlugin extends ServerPlugin {
return false;
}

/**
* Returns a list of reports this plugin supports.
*
* This will be used in the {DAV:}supported-report-set property.
*
* @param string $uri
* @return array
*/
public function getSupportedReportSet($uri) {
return [self::REPORT_NAME];
}

/**
* REPORT operations to look for comments
*
@@ -136,7 +149,7 @@ class CommentsPlugin extends ServerPlugin {
*/
public function onReport($reportName, $report, $uri) {
$node = $this->server->tree->getNodeForPath($uri);
if(!$node instanceof EntityCollection) {
if(!$node instanceof EntityCollection || $reportName !== self::REPORT_NAME) {
throw new ReportNotSupported();
}
$args = ['limit' => 0, 'offset' => 0, 'datetime' => null];

+ 0
- 3
apps/dav/tests/unit/comments/commentnode.php View File

@@ -114,9 +114,6 @@ class CommentsNode extends \Test\TestCase {
->method('handle')
->with('{http://owncloud.org/ns}message');

$propPatch->expects($this->once())
->method('commit');

$this->node->propPatch($propPatch);
}


+ 22
- 3
apps/dav/tests/unit/comments/commentsplugin.php View File

@@ -517,7 +517,26 @@ class CommentsPlugin extends \Test\TestCase {
->will($this->returnValue($path));
$this->plugin->initialize($this->server);

$this->plugin->onReport('', [], '/' . $path);
$this->plugin->onReport(CommentsPluginImplementation::REPORT_NAME, [], '/' . $path);
}

/**
* @expectedException \Sabre\DAV\Exception\ReportNotSupported
*/
public function testOnReportInvalidReportName() {
$path = 'comments/files/42';

$this->tree->expects($this->any())
->method('getNodeForPath')
->with('/' . $path)
->will($this->returnValue($this->getMock('\Sabre\DAV\INode')));

$this->server->expects($this->any())
->method('getRequestUri')
->will($this->returnValue($path));
$this->plugin->initialize($this->server);

$this->plugin->onReport('{whoever}whatever', [], '/' . $path);
}

public function testOnReportDateTimeEmpty() {
@@ -572,7 +591,7 @@ class CommentsPlugin extends \Test\TestCase {
$this->server->httpResponse = $response;
$this->plugin->initialize($this->server);

$this->plugin->onReport('', $parameters, '/' . $path);
$this->plugin->onReport(CommentsPluginImplementation::REPORT_NAME, $parameters, '/' . $path);
}

public function testOnReport() {
@@ -627,7 +646,7 @@ class CommentsPlugin extends \Test\TestCase {
$this->server->httpResponse = $response;
$this->plugin->initialize($this->server);

$this->plugin->onReport('', $parameters, '/' . $path);
$this->plugin->onReport(CommentsPluginImplementation::REPORT_NAME, $parameters, '/' . $path);
}



Loading…
Cancel
Save