summaryrefslogtreecommitdiffstats
path: root/apps/dav/tests
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-09-09 12:19:29 +0200
committerRoeland Jago Douma <roeland@famdouma.nl>2016-11-02 22:15:03 +0100
commit6a4ea2c15adb254291b095cfe21818aa28c26138 (patch)
treeef9a606eb82f486254126118ebde6a9851d30888 /apps/dav/tests
parentc1feae1684934bb52b1edaa67d33d01b377b875a (diff)
downloadnextcloud-server-6a4ea2c15adb254291b095cfe21818aa28c26138.tar.gz
nextcloud-server-6a4ea2c15adb254291b095cfe21818aa28c26138.zip
Upload autorename on client side
Removes the need for POST to collection which would hit against upload limits. The client tries to auto rename the file by adding a suffix "(2)". It tries to use the file list on the client side to guess a suitable name. In case a file still cannot be uploaded and creates a conflict, which can happen when the file was concurrently uploaded, the logic will continue increasing the suffix.
Diffstat (limited to 'apps/dav/tests')
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php81
1 files changed, 0 insertions, 81 deletions
diff --git a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php
index 43ca119abff..d39f709493e 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php
@@ -547,85 +547,4 @@ class FilesPluginTest extends TestCase {
$this->assertEquals("false", $propFind->get(self::HAS_PREVIEW_PROPERTYNAME));
}
-
- public function postCreateFileProvider() {
- $baseUrl = 'http://example.com/owncloud/remote.php/webdav/subdir/';
- return [
- ['test.txt', 'some file.txt', 'some file.txt', $baseUrl . 'some%20file.txt'],
- ['some file.txt', 'some file.txt', 'some file (2).txt', $baseUrl . 'some%20file%20%282%29.txt'],
- ];
- }
-
- /**
- * @dataProvider postCreateFileProvider
- */
- public function testPostWithAddMember($existingFile, $wantedName, $deduplicatedName, $expectedLocation) {
- $request = $this->getMock('Sabre\HTTP\RequestInterface');
- $response = $this->getMock('Sabre\HTTP\ResponseInterface');
-
- $request->expects($this->any())
- ->method('getUrl')
- ->will($this->returnValue('http://example.com/owncloud/remote.php/webdav/subdir/&' . $wantedName));
-
- $request->expects($this->any())
- ->method('getPath')
- ->will($this->returnValue('/subdir/&' . $wantedName));
-
- $request->expects($this->once())
- ->method('getBodyAsStream')
- ->will($this->returnValue(fopen('data://text/plain,hello', 'r')));
-
- $this->view->expects($this->any())
- ->method('file_exists')
- ->will($this->returnCallback(function($path) use ($existingFile) {
- return ($path === '/subdir/' . $existingFile);
- }));
-
- $node = $this->createTestNode('\OCA\DAV\Connector\Sabre\Directory', '/subdir');
-
- $node->expects($this->once())
- ->method('createFile')
- ->with($deduplicatedName, $this->isType('resource'));
-
- $response->expects($this->once())
- ->method('setStatus')
- ->with(201);
- $response->expects($this->once())
- ->method('setHeader')
- ->with('Content-Location', $expectedLocation);
-
- $this->assertFalse($this->plugin->httpPost($request, $response));
- }
-
- public function testPostOnNonDirectory() {
- $request = $this->getMock('Sabre\HTTP\RequestInterface');
- $response = $this->getMock('Sabre\HTTP\ResponseInterface');
-
- $request->expects($this->any())
- ->method('getPath')
- ->will($this->returnValue('/subdir/test.txt/&abc'));
-
- $this->createTestNode('\OCA\DAV\Connector\Sabre\File', '/subdir/test.txt');
-
- $this->assertNull($this->plugin->httpPost($request, $response));
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\BadRequest
- */
- public function testPostWithoutAddMember() {
- $request = $this->getMock('Sabre\HTTP\RequestInterface');
- $response = $this->getMock('Sabre\HTTP\ResponseInterface');
-
- $request->expects($this->any())
- ->method('getPath')
- ->will($this->returnValue('/subdir/&'));
-
- $node = $this->createTestNode('\OCA\DAV\Connector\Sabre\Directory', '/subdir');
-
- $node->expects($this->never())
- ->method('createFile');
-
- $this->plugin->httpPost($request, $response);
- }
}