]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix last unit tests
authorJoas Schilling <coding@schilljs.com>
Thu, 27 Apr 2017 07:53:55 +0000 (09:53 +0200)
committerJoas Schilling <coding@schilljs.com>
Thu, 27 Apr 2017 08:18:31 +0000 (10:18 +0200)
Signed-off-by: Joas Schilling <coding@schilljs.com>
apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php

index 7d4583c801efaa7940f0559e40fc5bd8107d760c..f27f67b0aaede3b31da50f589576887fc1034795 100644 (file)
@@ -81,7 +81,7 @@ class DirectoryTest extends \Test\TestCase {
                $this->info = $this->createMock('OC\Files\FileInfo');
                $this->info->expects($this->any())
                        ->method('isReadable')
-                       ->will($this->returnValue(true));
+                       ->willReturn(true);
        }
 
        private function getDir($path = '/') {
@@ -221,11 +221,12 @@ class DirectoryTest extends \Test\TestCase {
         * @expectedException \Sabre\DAV\Exception\Forbidden
         */
        public function testGetChildrenNoPermission() {
-               $this->info->expects($this->any())
+               $info = $this->createMock(FileInfo::class);
+               $info->expects($this->any())
                        ->method('isReadable')
                        ->will($this->returnValue(false));
 
-               $dir = new Directory($this->view, $this->info);
+               $dir = new Directory($this->view, $info);
                $dir->getChildren();
        }
 
index 3fae9d626e6c4bb507fd72f0cd38a2c8fc641f17..53f60bd0f1c2d053f6dabc72fba93bf4e837c704 100644 (file)
@@ -36,46 +36,6 @@ use OC\Files\View;
 use OCA\DAV\Connector\Sabre\Directory;
 use OCA\DAV\Connector\Sabre\ObjectTree;
 
-class TestViewObjectTree extends \OC\Files\View {
-
-       public function __construct($creatables, $updatables, $deletables, $canRename = true) {
-               $this->creatables = $creatables;
-               $this->updatables = $updatables;
-               $this->deletables = $deletables;
-               $this->canRename = $canRename;
-               $this->lockingProvider = \OC::$server->getLockingProvider();
-       }
-
-       public function isUpdatable($path) {
-               return !empty($this->updatables[$path]);
-       }
-
-       public function isCreatable($path) {
-               return !empty($this->creatables[$path]);
-       }
-
-       public function isDeletable($path) {
-               return !empty($this->deletables[$path]);
-       }
-
-       public function rename($path1, $path2) {
-               return $this->canRename;
-       }
-
-       public function getRelativePath($path) {
-               return $path;
-       }
-
-       public function getFileInfo($path, $includeMountPoints = true) {
-               $objectTreeTest = new ObjectTreeTest();
-               return $objectTreeTest->getFileInfoMock(
-                       $this->isCreatable($path),
-                       $this->isUpdatable($path),
-                       $this->isDeletable($path)
-               );
-       }
-}
-
 /**
  * Class ObjectTreeTest
  *
@@ -85,105 +45,6 @@ class TestViewObjectTree extends \OC\Files\View {
  */
 class ObjectTreeTest extends \Test\TestCase {
 
-       public function getFileInfoMock($create = true, $update = true, $delete = true) {
-               $mock = $this->getMockBuilder('\OCP\Files\FileInfo')
-                       ->disableOriginalConstructor()
-                       ->getMock();
-               $mock
-                       ->expects($this->any())
-                       ->method('isCreatable')
-                       ->willReturn($create);
-               $mock
-                       ->expects($this->any())
-                       ->method('isUpdateable')
-                       ->willReturn($update);
-               $mock
-                       ->expects($this->any())
-                       ->method('isDeletable')
-                       ->willReturn($delete);
-
-               return $mock;
-       }
-
-       /**
-        * @dataProvider moveFailedProvider
-        * @expectedException \Sabre\DAV\Exception\Forbidden
-        */
-       public function testMoveFailed($source, $destination, $updatables, $deletables) {
-               $this->moveTest($source, $destination, $updatables, $updatables, $deletables, true);
-       }
-
-       /**
-        * @dataProvider moveSuccessProvider
-        */
-       public function testMoveSuccess($source, $destination, $updatables, $deletables) {
-               $this->moveTest($source, $destination, $updatables, $updatables, $deletables);
-               $this->assertTrue(true);
-       }
-
-       /**
-        * @dataProvider moveFailedInvalidCharsProvider
-        * @expectedException \OCA\DAV\Connector\Sabre\Exception\InvalidPath
-        */
-       public function testMoveFailedInvalidChars($source, $destination, $updatables, $deletables) {
-               $this->moveTest($source, $destination, $updatables, $updatables, $deletables);
-       }
-
-       public function moveFailedInvalidCharsProvider() {
-               return array(
-                       array('a/b', 'a/*', array('a' => true, 'a/b' => true, 'a/c*' => false), array()),
-               );
-       }
-
-       public function moveFailedProvider() {
-               return array(
-                       array('a/b', 'a/c', array('a' => false, 'a/b' => false, 'a/c' => false), array()),
-                       array('a/b', 'b/b', array('a' => false, 'a/b' => false, 'b' => false, 'b/b' => false), array()),
-                       array('a/b', 'b/b', array('a' => false, 'a/b' => true, 'b' => false, 'b/b' => false), array()),
-                       array('a/b', 'b/b', array('a' => true, 'a/b' => true, 'b' => false, 'b/b' => false), array()),
-                       array('a/b', 'b/b', array('a' => true, 'a/b' => true, 'b' => true, 'b/b' => false), array('a/b' => false)),
-                       array('a/b', 'a/c', array('a' => false, 'a/b' => true, 'a/c' => false), array()),
-               );
-       }
-
-       public function moveSuccessProvider() {
-               return array(
-                       array('a/b', 'b/b', array('a' => true, 'a/b' => true, 'b' => true, 'b/b' => false), array('a/b' => true)),
-                       // older files with special chars can still be renamed to valid names
-                       array('a/b*', 'b/b', array('a' => true, 'a/b*' => true, 'b' => true, 'b/b' => false), array('a/b*' => true)),
-               );
-       }
-
-       /**
-        * @param $source
-        * @param $destination
-        * @param $creatables
-        * @param $updatables
-        * @param $deletables
-        * @param $throwsBeforeGetNode
-        */
-       private function moveTest($source, $destination, $creatables, $updatables, $deletables, $throwsBeforeGetNode = false) {
-               $view = new TestViewObjectTree($creatables, $updatables, $deletables);
-
-               $info = new FileInfo('', null, null, array(), null);
-
-               $rootDir = new \OCA\DAV\Connector\Sabre\Directory($view, $info);
-               $objectTree = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\ObjectTree')
-                       ->setMethods(['nodeExists', 'getNodeForPath'])
-                       ->setConstructorArgs([$rootDir, $view])
-                       ->getMock();
-
-               $objectTree->expects($throwsBeforeGetNode ? $this->never() : $this->once())
-                       ->method('getNodeForPath')
-                       ->with($this->identicalTo($source))
-                       ->will($this->returnValue(false));
-
-               /** @var $objectTree \OCA\DAV\Connector\Sabre\ObjectTree */
-               $mountManager = \OC\Files\Filesystem::getMountManager();
-               $objectTree->init($rootDir, $view, $mountManager);
-               $objectTree->move($source, $destination);
-       }
-
        public function copyDataProvider() {
                return [
                        // copy into same dir
@@ -205,15 +66,23 @@ class ObjectTreeTest extends \Test\TestCase {
                        ->with($targetParent)
                        ->will($this->returnValue(true));
                $view->expects($this->once())
-                       ->method('isCreatable')
-                       ->with($targetParent)
-                       ->will($this->returnValue(true));
+                       ->method('file_exists')
+                       ->with($targetPath)
+                       ->willReturn(false);
                $view->expects($this->once())
                        ->method('copy')
                        ->with($sourcePath, $targetPath)
                        ->will($this->returnValue(true));
 
-               $info = new FileInfo('', null, null, [], null);
+               $info = $this->createMock(FileInfo::class);
+               $info->expects($this->once())
+                       ->method('isCreatable')
+                       ->willReturn(true);
+
+               $view->expects($this->once())
+                       ->method('getFileInfo')
+                       ->with($targetParent === '' ? '.' : $targetParent)
+                       ->willReturn($info);
 
                $rootDir = new Directory($view, $info);
                $objectTree = $this->getMockBuilder(ObjectTree::class)
@@ -238,18 +107,24 @@ class ObjectTreeTest extends \Test\TestCase {
         */
        public function testCopyFailNotCreatable($sourcePath, $targetPath, $targetParent) {
                $view = $this->createMock(View::class);
+               $view->expects($this->never())
+                       ->method('verifyPath');
                $view->expects($this->once())
-                       ->method('verifyPath')
-                       ->with($targetParent)
-                       ->will($this->returnValue(true));
-               $view->expects($this->once())
-                       ->method('isCreatable')
-                       ->with($targetParent)
-                       ->will($this->returnValue(false));
+                       ->method('file_exists')
+                       ->with($targetPath)
+                       ->willReturn(false);
                $view->expects($this->never())
                        ->method('copy');
 
-               $info = new FileInfo('', null, null, [], null);
+               $info = $this->createMock(FileInfo::class);
+               $info->expects($this->once())
+                       ->method('isCreatable')
+                       ->willReturn(false);
+
+               $view->expects($this->once())
+                       ->method('getFileInfo')
+                       ->with($targetParent === '' ? '.' : $targetParent)
+                       ->willReturn($info);
 
                $rootDir = new Directory($view, $info);
                $objectTree = $this->getMockBuilder(ObjectTree::class)
@@ -257,10 +132,8 @@ class ObjectTreeTest extends \Test\TestCase {
                        ->setConstructorArgs([$rootDir, $view])
                        ->getMock();
 
-               $objectTree->expects($this->once())
-                       ->method('getNodeForPath')
-                       ->with($this->identicalTo($sourcePath))
-                       ->will($this->returnValue(false));
+               $objectTree->expects($this->never())
+                       ->method('getNodeForPath');
 
                /** @var $objectTree \OCA\DAV\Connector\Sabre\ObjectTree */
                $mountManager = Filesystem::getMountManager();
@@ -449,46 +322,4 @@ class ObjectTreeTest extends \Test\TestCase {
 
                $this->assertInstanceOf('\Sabre\DAV\INode', $tree->getNodeForPath($path));
        }
-
-       /**
-        * @expectedException \Sabre\DAV\Exception\Forbidden
-        * @expectedExceptionMessage Could not copy directory nameOfSourceNode, target exists
-        */
-       public function testFailingMove() {
-               $source = 'a/b';
-               $destination = 'b/b';
-               $updatables = array('a' => true, 'a/b' => true, 'b' => true, 'b/b' => false);
-               $deletables = array('a/b' => true);
-
-               $view = new TestViewObjectTree($updatables, $updatables, $deletables);
-
-               $info = new FileInfo('', null, null, array(), null);
-
-               $rootDir = new \OCA\DAV\Connector\Sabre\Directory($view, $info);
-               $objectTree = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\ObjectTree')
-                       ->setMethods(['nodeExists', 'getNodeForPath'])
-                       ->setConstructorArgs([$rootDir, $view])
-                       ->getMock();
-
-               $sourceNode = $this->getMockBuilder('\Sabre\DAV\ICollection')
-                       ->disableOriginalConstructor()
-                       ->getMock();
-               $sourceNode->expects($this->once())
-                       ->method('getName')
-                       ->will($this->returnValue('nameOfSourceNode'));
-
-               $objectTree->expects($this->once())
-                       ->method('nodeExists')
-                       ->with($this->identicalTo($destination))
-                       ->will($this->returnValue(true));
-               $objectTree->expects($this->once())
-                       ->method('getNodeForPath')
-                       ->with($this->identicalTo($source))
-                       ->will($this->returnValue($sourceNode));
-
-               /** @var $objectTree \OCA\DAV\Connector\Sabre\ObjectTree */
-               $mountManager = \OC\Files\Filesystem::getMountManager();
-               $objectTree->init($rootDir, $view, $mountManager);
-               $objectTree->move($source, $destination);
-       }
 }