Пример #1
0
	public function testGetNodeForPathRoot() {
		$path = '/';


		$storage = new Temporary([]);

		$view = $this->getMock('\OC\Files\View', ['resolvePath']);
		$view->expects($this->any())
			->method('resolvePath')
			->will($this->returnCallback(function ($path) use ($storage) {
				return [$storage, ltrim($path, '/')];
			}));

		$rootNode = $this->getMockBuilder('\OC\Connector\Sabre\Directory')
			->disableOriginalConstructor()
			->getMock();
		$mountManager = $this->getMock('\OC\Files\Mount\Manager');

		$tree = new \OC\Connector\Sabre\ObjectTree();
		$tree->init($rootNode, $view, $mountManager);

		$this->assertInstanceOf('\Sabre\DAV\INode', $tree->getNodeForPath($path));
	}
Пример #2
0
 /**
  * @dataProvider nodeForPathProvider
  */
 public function testGetNodeForPath($inputFileName, $fileInfoQueryPath, $outputFileName, $type, $enableChunkingHeader)
 {
     if ($enableChunkingHeader) {
         $_SERVER['HTTP_OC_CHUNKED'] = true;
     }
     $rootNode = $this->getMockBuilder('\\OC\\Connector\\Sabre\\Directory')->disableOriginalConstructor()->getMock();
     $mountManager = $this->getMock('\\OC\\Files\\Mount\\Manager');
     $view = $this->getMock('\\OC\\Files\\View');
     $fileInfo = $this->getMock('\\OCP\\Files\\FileInfo');
     $fileInfo->expects($this->once())->method('getType')->will($this->returnValue($type));
     $fileInfo->expects($this->once())->method('getName')->will($this->returnValue($outputFileName));
     $view->expects($this->once())->method('getFileInfo')->with($fileInfoQueryPath)->will($this->returnValue($fileInfo));
     $tree = new \OC\Connector\Sabre\ObjectTree();
     $tree->init($rootNode, $view, $mountManager);
     $node = $tree->getNodeForPath($inputFileName);
     $this->assertNotNull($node);
     $this->assertEquals($outputFileName, $node->getName());
     if ($type === 'file') {
         $this->assertTrue($node instanceof \OC\Connector\Sabre\File);
     } else {
         $this->assertTrue($node instanceof \OC\Connector\Sabre\Directory);
     }
     unset($_SERVER['HTTP_OC_CHUNKED']);
 }