summaryrefslogtreecommitdiffstats
path: root/tests/lib/connector/sabre/filesplugin.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/connector/sabre/filesplugin.php')
-rw-r--r--tests/lib/connector/sabre/filesplugin.php254
1 files changed, 0 insertions, 254 deletions
diff --git a/tests/lib/connector/sabre/filesplugin.php b/tests/lib/connector/sabre/filesplugin.php
deleted file mode 100644
index 391062d6796..00000000000
--- a/tests/lib/connector/sabre/filesplugin.php
+++ /dev/null
@@ -1,254 +0,0 @@
-<?php
-
-namespace Tests\Connector\Sabre;
-
-/**
- * Copyright (c) 2015 Vincent Petry <pvince81@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-class FilesPlugin extends \Test\TestCase {
- const GETETAG_PROPERTYNAME = \OC\Connector\Sabre\FilesPlugin::GETETAG_PROPERTYNAME;
- const FILEID_PROPERTYNAME = \OC\Connector\Sabre\FilesPlugin::FILEID_PROPERTYNAME;
- const SIZE_PROPERTYNAME = \OC\Connector\Sabre\FilesPlugin::SIZE_PROPERTYNAME;
- const PERMISSIONS_PROPERTYNAME = \OC\Connector\Sabre\FilesPlugin::PERMISSIONS_PROPERTYNAME;
- const LASTMODIFIED_PROPERTYNAME = \OC\Connector\Sabre\FilesPlugin::LASTMODIFIED_PROPERTYNAME;
- const DOWNLOADURL_PROPERTYNAME = \OC\Connector\Sabre\FilesPlugin::DOWNLOADURL_PROPERTYNAME;
-
- /**
- * @var \Sabre\DAV\Server
- */
- private $server;
-
- /**
- * @var \Sabre\DAV\ObjectTree
- */
- private $tree;
-
- /**
- * @var \OC\Connector\Sabre\FilesPlugin
- */
- private $plugin;
-
- /**
- * @var \OC\Files\View
- */
- private $view;
-
- public function setUp() {
- parent::setUp();
- $this->server = $this->getMockBuilder('\Sabre\DAV\Server')
- ->disableOriginalConstructor()
- ->getMock();
- $this->tree = $this->getMockBuilder('\Sabre\DAV\Tree')
- ->disableOriginalConstructor()
- ->getMock();
- $this->view = $this->getMockBuilder('\OC\Files\View')
- ->disableOriginalConstructor()
- ->getMock();
-
- $this->plugin = new \OC\Connector\Sabre\FilesPlugin($this->tree, $this->view);
- $this->plugin->initialize($this->server);
- }
-
- private function createTestNode($class) {
- $node = $this->getMockBuilder($class)
- ->disableOriginalConstructor()
- ->getMock();
- $node->expects($this->any())
- ->method('getId')
- ->will($this->returnValue(123));
-
- $this->tree->expects($this->any())
- ->method('getNodeForPath')
- ->with('/dummypath')
- ->will($this->returnValue($node));
-
- $node->expects($this->any())
- ->method('getFileId')
- ->will($this->returnValue(123));
- $node->expects($this->any())
- ->method('getEtag')
- ->will($this->returnValue('"abc"'));
- $node->expects($this->any())
- ->method('getDavPermissions')
- ->will($this->returnValue('DWCKMSR'));
-
- return $node;
- }
-
- /**
- */
- public function testGetPropertiesForFile() {
- $node = $this->createTestNode('\OC\Connector\Sabre\File');
-
- $propFind = new \Sabre\DAV\PropFind(
- '/dummyPath',
- array(
- self::GETETAG_PROPERTYNAME,
- self::FILEID_PROPERTYNAME,
- self::SIZE_PROPERTYNAME,
- self::PERMISSIONS_PROPERTYNAME,
- self::DOWNLOADURL_PROPERTYNAME,
- ),
- 0
- );
-
- $node->expects($this->once())
- ->method('getDirectDownload')
- ->will($this->returnValue(array('url' => 'http://example.com/')));
- $node->expects($this->never())
- ->method('getSize');
-
- $this->plugin->handleGetProperties(
- $propFind,
- $node
- );
-
- $this->assertEquals('"abc"', $propFind->get(self::GETETAG_PROPERTYNAME));
- $this->assertEquals(123, $propFind->get(self::FILEID_PROPERTYNAME));
- $this->assertEquals(null, $propFind->get(self::SIZE_PROPERTYNAME));
- $this->assertEquals('DWCKMSR', $propFind->get(self::PERMISSIONS_PROPERTYNAME));
- $this->assertEquals('http://example.com/', $propFind->get(self::DOWNLOADURL_PROPERTYNAME));
- $this->assertEquals(array(self::SIZE_PROPERTYNAME), $propFind->get404Properties());
- }
-
- public function testGetPublicPermissions() {
- $this->plugin = new \OC\Connector\Sabre\FilesPlugin($this->tree, $this->view, true);
- $this->plugin->initialize($this->server);
-
- $propFind = new \Sabre\DAV\PropFind(
- '/dummyPath',
- [
- self::PERMISSIONS_PROPERTYNAME,
- ],
- 0
- );
-
- $node = $this->createTestNode('\OC\Connector\Sabre\File');
- $node->expects($this->any())
- ->method('getDavPermissions')
- ->will($this->returnValue('DWCKMSR'));
-
- $this->plugin->handleGetProperties(
- $propFind,
- $node
- );
-
- $this->assertEquals('DWCKR', $propFind->get(self::PERMISSIONS_PROPERTYNAME));
- }
-
- public function testGetPropertiesForDirectory() {
- $node = $this->createTestNode('\OC\Connector\Sabre\Directory');
-
- $propFind = new \Sabre\DAV\PropFind(
- '/dummyPath',
- array(
- self::GETETAG_PROPERTYNAME,
- self::FILEID_PROPERTYNAME,
- self::SIZE_PROPERTYNAME,
- self::PERMISSIONS_PROPERTYNAME,
- self::DOWNLOADURL_PROPERTYNAME,
- ),
- 0
- );
-
- $node->expects($this->never())
- ->method('getDirectDownload');
- $node->expects($this->once())
- ->method('getSize')
- ->will($this->returnValue(1025));
-
- $this->plugin->handleGetProperties(
- $propFind,
- $node
- );
-
- $this->assertEquals('"abc"', $propFind->get(self::GETETAG_PROPERTYNAME));
- $this->assertEquals(123, $propFind->get(self::FILEID_PROPERTYNAME));
- $this->assertEquals(1025, $propFind->get(self::SIZE_PROPERTYNAME));
- $this->assertEquals('DWCKMSR', $propFind->get(self::PERMISSIONS_PROPERTYNAME));
- $this->assertEquals(null, $propFind->get(self::DOWNLOADURL_PROPERTYNAME));
- $this->assertEquals(array(self::DOWNLOADURL_PROPERTYNAME), $propFind->get404Properties());
- }
-
- public function testUpdateProps() {
- $node = $this->createTestNode('\OC\Connector\Sabre\File');
-
- $testDate = 'Fri, 13 Feb 2015 00:01:02 GMT';
-
- $node->expects($this->once())
- ->method('touch')
- ->with($testDate);
-
- $node->expects($this->once())
- ->method('setEtag')
- ->with('newetag')
- ->will($this->returnValue(true));
-
- // properties to set
- $propPatch = new \Sabre\DAV\PropPatch(array(
- self::GETETAG_PROPERTYNAME => 'newetag',
- self::LASTMODIFIED_PROPERTYNAME => $testDate
- ));
-
- $this->plugin->handleUpdateProperties(
- '/dummypath',
- $propPatch
- );
-
- $propPatch->commit();
-
- $this->assertEmpty($propPatch->getRemainingMutations());
-
- $result = $propPatch->getResult();
- $this->assertEquals(200, $result[self::LASTMODIFIED_PROPERTYNAME]);
- $this->assertEquals(200, $result[self::GETETAG_PROPERTYNAME]);
- }
-
- /**
- * Testcase from https://github.com/owncloud/core/issues/5251
- *
- * |-FolderA
- * |-text.txt
- * |-test.txt
- *
- * FolderA is an incomming shared folder and there are no delete permissions.
- * Thus moving /FolderA/test.txt to /test.txt should fail already on that check
- *
- * @expectedException \Sabre\DAV\Exception\Forbidden
- * @expectedExceptionMessage FolderA/test.txt cannot be deleted
- */
- public function testMoveSrcNotDeletable() {
- $fileInfoFolderATestTXT = $this->getMockBuilder('\OCP\Files\FileInfo')
- ->disableOriginalConstructor()
- ->getMock();
- $fileInfoFolderATestTXT->expects($this->once())
- ->method('isDeletable')
- ->willReturn(false);
-
- $this->view->expects($this->once())
- ->method('getFileInfo')
- ->with('FolderA/test.txt')
- ->willReturn($fileInfoFolderATestTXT);
-
- $this->plugin->checkMove('FolderA/test.txt', 'test.txt');
- }
-
- public function testMoveSrcDeletable() {
- $fileInfoFolderATestTXT = $this->getMockBuilder('\OCP\Files\FileInfo')
- ->disableOriginalConstructor()
- ->getMock();
- $fileInfoFolderATestTXT->expects($this->once())
- ->method('isDeletable')
- ->willReturn(true);
-
- $this->view->expects($this->once())
- ->method('getFileInfo')
- ->with('FolderA/test.txt')
- ->willReturn($fileInfoFolderATestTXT);
-
- $this->plugin->checkMove('FolderA/test.txt', 'test.txt');
- }
-}