summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2014-04-08 19:57:07 +0200
committerBjoern Schiessle <schiessle@owncloud.com>2014-04-23 12:54:25 +0200
commited981294f11bd59733e0d121cbf737e16275b666 (patch)
tree8b13b3224a29db6e3aa64170154c6f2e1b941595 /apps
parent27c5a978f91e7aa447a2acca040fd173baba53b9 (diff)
downloadnextcloud-server-ed981294f11bd59733e0d121cbf737e16275b666.tar.gz
nextcloud-server-ed981294f11bd59733e0d121cbf737e16275b666.zip
fix share api tests
Diffstat (limited to 'apps')
-rw-r--r--apps/files_sharing/lib/api.php12
-rw-r--r--apps/files_sharing/lib/cache.php21
-rw-r--r--apps/files_sharing/lib/share/file.php2
-rw-r--r--apps/files_sharing/lib/sharedstorage.php39
-rw-r--r--apps/files_sharing/lib/watcher.php2
-rw-r--r--apps/files_sharing/tests/api.php70
-rw-r--r--apps/files_sharing/tests/base.php12
-rw-r--r--apps/files_sharing/tests/cache.php60
-rw-r--r--apps/files_sharing/tests/permissions.php15
-rw-r--r--apps/files_sharing/tests/watcher.php33
10 files changed, 90 insertions, 176 deletions
diff --git a/apps/files_sharing/lib/api.php b/apps/files_sharing/lib/api.php
index de3c1cd2630..438d3cc4ba3 100644
--- a/apps/files_sharing/lib/api.php
+++ b/apps/files_sharing/lib/api.php
@@ -184,7 +184,6 @@ class Api {
$receivedFrom = \OCP\Share::getItemSharedWithBySource($itemType, $file['fileid']);
reset($share);
$key = key($share);
- $share[$key]['path'] = self::correctPath($share[$key]['path'], $path);
if ($receivedFrom) {
$share[$key]['received_from'] = $receivedFrom['uid_owner'];
$share[$key]['received_from_displayname'] = \OCP\User::getDisplayName($receivedFrom['uid_owner']);
@@ -531,15 +530,4 @@ class Api {
}
- /**
- * @brief make sure that the path has the correct root
- *
- * @param string $path path returned from the share API
- * @param string $folder current root folder
- * @return string the correct path
- */
- protected static function correctPath($path, $folder) {
- return \OC_Filesystem::normalizePath('/' . $folder . '/' . basename($path));
- }
-
}
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index 250c1e872e3..e91c15cc62a 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -47,7 +47,7 @@ class Shared_Cache extends Cache {
* @return \OC\Files\Cache\Cache
*/
private function getSourceCache($target) {
- if ($target === false) {
+ if ($target === false || $target === $this->storage->getMountPoint()) {
$target = '';
}
$source = \OC_Share_Backend_File::getSource($target, $this->storage->getMountPoint(), $this->storage->getShareType());
@@ -86,8 +86,11 @@ class Shared_Cache extends Cache {
public function get($file) {
if (is_string($file)) {
if ($cache = $this->getSourceCache($file)) {
+ $path = 'files/' . $this->storage->getMountPoint();
+ $path .= ($file !== '') ? '/' . $file : '';
$data = $cache->get($this->files[$file]);
$data['displayname_owner'] = \OC_User::getDisplayName($this->storage->getSharedFrom());
+ $data['path'] = $path;
return $data;
}
} else {
@@ -99,7 +102,7 @@ class Shared_Cache extends Cache {
}
$query = \OC_DB::prepare(
'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`,'
- . ' `size`, `mtime`, `encrypted`, `unencrypted_size`'
+ . ' `size`, `mtime`, `encrypted`, `unencrypted_size`, `storage_mtime`'
. ' FROM `*PREFIX*filecache` WHERE `fileid` = ?');
$result = $query->execute(array($file));
$data = $result->fetchRow();
@@ -138,12 +141,15 @@ class Shared_Cache extends Cache {
$folder = '';
}
+ $dir = 'files/' . $this->storage->getMountPoint();
+ $dir .= ($folder !== '') ? '/' . $folder : '';
+
$cache = $this->getSourceCache($folder);
if ($cache) {
$parent = $this->storage->getFile($folder);
$sourceFolderContent = $cache->getFolderContents($this->files[$folder]);
foreach ($sourceFolderContent as $key => $c) {
- $sourceFolderContent[$key]['usersPath'] = 'files/' . $folder . '/' . $c['name'];
+ $sourceFolderContent[$key]['path'] = $dir . '/' . $c['name'];
$sourceFolderContent[$key]['uid_owner'] = $parent['uid_owner'];
$sourceFolderContent[$key]['displayname_owner'] = $parent['uid_owner'];
}
@@ -178,7 +184,11 @@ class Shared_Cache extends Cache {
* @return int
*/
public function getId($file) {
- if ($cache = $this->getSourceCache($file)) {
+ if ($file === false) {
+ return $this->storage->getSourceId();
+ }
+ $cache = $this->getSourceCache($file);
+ if ($cache) {
return $cache->getId($this->files[$file]);
}
return -1;
@@ -292,9 +302,6 @@ class Shared_Cache extends Cache {
if ($file['mimetype'] === 'httpd/unix-directory') {
$exploreDirs[] = ltrim($dir . '/' . $file['name'], '/');
} else if (($mimepart && $file['mimepart'] === $mimepart) || ($mimetype && $file['mimetype'] === $mimetype)) {
- // usersPath not reliable
- //$file['path'] = $file['usersPath'];
- $file['path'] = ltrim($dir . '/' . $file['name'], '/');
$result[] = $file;
}
}
diff --git a/apps/files_sharing/lib/share/file.php b/apps/files_sharing/lib/share/file.php
index c628b11589d..e1d0b49706b 100644
--- a/apps/files_sharing/lib/share/file.php
+++ b/apps/files_sharing/lib/share/file.php
@@ -87,7 +87,7 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent {
'path' => $items[key($items)]['path'],
'storage' => $items[key($items)]['storage'],
'permissions' => $items[key($items)]['permissions'],
- 'uid_owner' => $items[key($items)]['uid_owner']
+ 'uid_owner' => $items[key($items)]['uid_owner'],
);
} else if ($format == self::FORMAT_GET_FOLDER_CONTENTS) {
$files = array();
diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/sharedstorage.php
index f38f29635a2..565c3e7af8e 100644
--- a/apps/files_sharing/lib/sharedstorage.php
+++ b/apps/files_sharing/lib/sharedstorage.php
@@ -138,15 +138,9 @@ class Shared extends \OC\Files\Storage\Common {
}
public function opendir($path) {
- if ($path == '' || $path == '/') {
- $files = \OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_Folder::FORMAT_OPENDIR);
- \OC\Files\Stream\Dir::register($this->mountPoint, $files);
- return opendir('fakedir://' . $this->mountPoint);
- } else if ($source = $this->getSourcePath($path)) {
- list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($source);
- return $storage->opendir($internalPath);
- }
- return false;
+ $source = $this->getSourcePath($path);
+ list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($source);
+ return $storage->opendir($internalPath);
}
public function is_dir($path) {
@@ -242,25 +236,9 @@ class Shared extends \OC\Files\Storage\Common {
}
public function filemtime($path) {
- if ($path == '' || $path == '/') {
- $mtime = 0;
- $dh = $this->opendir($path);
- if (is_resource($dh)) {
- while (($filename = readdir($dh)) !== false) {
- $tempmtime = $this->filemtime($filename);
- if ($tempmtime > $mtime) {
- $mtime = $tempmtime;
- }
- }
- }
- return $mtime;
- } else {
- $source = $this->getSourcePath($path);
- if ($source) {
- list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($source);
- return $storage->filemtime($internalPath);
- }
- }
+ $source = $this->getSourcePath($path);
+ list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($source);
+ return $storage->filemtime($internalPath);
}
public function file_get_contents($path) {
@@ -285,7 +263,7 @@ class Shared extends \OC\Files\Storage\Common {
return false;
}
$info = array(
- 'target' => $this->mountPoint . $path,
+ 'target' => $this->mountPoint . '/' . $path,
'source' => $source,
);
\OCP\Util::emitHook('\OC\Files\Storage\Shared', 'file_put_contents', $info);
@@ -532,9 +510,6 @@ class Shared extends \OC\Files\Storage\Common {
}
public function hasUpdated($path, $time) {
- if ($path == '') {
- return false;
- }
return $this->filemtime($path) > $time;
}
diff --git a/apps/files_sharing/lib/watcher.php b/apps/files_sharing/lib/watcher.php
index 285b1a58c6e..11d3ce1cabd 100644
--- a/apps/files_sharing/lib/watcher.php
+++ b/apps/files_sharing/lib/watcher.php
@@ -32,7 +32,7 @@ class Shared_Watcher extends Watcher {
* @param string $path
*/
public function checkUpdate($path) {
- if ($path != '' && parent::checkUpdate($path) === true) {
+ if (parent::checkUpdate($path) === true) {
// since checkUpdate() has already updated the size of the subdirs,
// only apply the update to the owner's parent dirs
diff --git a/apps/files_sharing/tests/api.php b/apps/files_sharing/tests/api.php
index c7a848315ac..6354d1099bb 100644
--- a/apps/files_sharing/tests/api.php
+++ b/apps/files_sharing/tests/api.php
@@ -324,10 +324,10 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
$this->assertTrue(is_string($result));
$testValues=array(
- array('query' => 'Shared/' . $this->folder,
- 'expectedResult' => '/Shared' . $this->folder . $this->filename),
- array('query' => 'Shared/' . $this->folder . $this->subfolder,
- 'expectedResult' => '/Shared' . $this->folder . $this->subfolder . $this->filename),
+ array('query' => $this->folder,
+ 'expectedResult' => $this->folder . $this->filename),
+ array('query' => $this->folder . $this->subfolder,
+ 'expectedResult' => $this->folder . $this->subfolder . $this->filename),
);
foreach ($testValues as $value) {
@@ -382,7 +382,7 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
// share was successful?
$this->assertTrue(is_string($result));
- $_GET['path'] = '/Shared';
+ $_GET['path'] = '/';
$_GET['subfiles'] = 'true';
$result = Share\Api::getAllShares(array());
@@ -395,7 +395,7 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
// we should get exactly one result
$this->assertEquals(1, count($data));
- $expectedPath = '/Shared' . $this->subfolder;
+ $expectedPath = $this->subfolder;
$this->assertEquals($expectedPath, $data[0]['path']);
// cleanup
@@ -444,7 +444,7 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
$this->assertTrue(is_string($result));
- $_GET['path'] = '/Shared';
+ $_GET['path'] = '/';
$_GET['subfiles'] = 'true';
$result = Share\Api::getAllShares(array());
@@ -457,7 +457,7 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
// we should get exactly one result
$this->assertEquals(1, count($data));
- $expectedPath = '/Shared' . $this->subsubfolder;
+ $expectedPath = $this->subsubfolder;
$this->assertEquals($expectedPath, $data[0]['path']);
@@ -512,8 +512,8 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
$this->assertTrue(is_string($result));
- // ask for shared/subfolder
- $expectedPath1 = '/Shared' . $this->subfolder;
+ // ask for subfolder
+ $expectedPath1 = $this->subfolder;
$_GET['path'] = $expectedPath1;
$result1 = Share\Api::getAllShares(array());
@@ -524,8 +524,8 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
$data1 = $result1->getData();
$share1 = reset($data1);
- // ask for shared/folder/subfolder
- $expectedPath2 = '/Shared' . $this->folder . $this->subfolder;
+ // ask for folder/subfolder
+ $expectedPath2 = $this->folder . $this->subfolder;
$_GET['path'] = $expectedPath2;
$result2 = Share\Api::getAllShares(array());
@@ -595,7 +595,7 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
$this->assertTrue(is_string($result));
- $_GET['path'] = '/Shared';
+ $_GET['path'] = '/';
$_GET['subfiles'] = 'true';
$result = Share\Api::getAllShares(array());
@@ -608,7 +608,7 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
// we should get exactly one result
$this->assertEquals(1, count($data));
- $expectedPath = '/Shared' . $this->filename;
+ $expectedPath = $this->filename;
$this->assertEquals($expectedPath, $data[0]['path']);
@@ -868,46 +868,4 @@ class Test_Files_Sharing_Api extends Test_Files_Sharing_Base {
}
- function testCorrectPath() {
- $path = "/foo/bar/test.txt";
- $folder = "/correct/path";
- $expectedResult = "/correct/path/test.txt";
-
- $shareApiDummy = new TestShareApi();
-
- $this->assertSame($expectedResult, $shareApiDummy->correctPathTest($path, $folder));
- }
-
- /**
- * @expectedException \Exception
- */
- public function testShareNonExisting() {
- \Test_Files_Sharing_Api::loginHelper(\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER1);
-
- $id = PHP_INT_MAX - 1;
- \OCP\Share::shareItem('file', $id, \OCP\Share::SHARE_TYPE_LINK, \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2, 31);
- }
-
- /**
- * @expectedException \Exception
- */
- public function testShareNotOwner() {
- \Test_Files_Sharing_Api::loginHelper(\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2);
- \OC\Files\Filesystem::file_put_contents('foo.txt', 'bar');
- $info = \OC\Files\Filesystem::getFileInfo('foo.txt');
-
- \Test_Files_Sharing_Api::loginHelper(\Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER1);
-
- \OCP\Share::shareItem('file', $info->getId(), \OCP\Share::SHARE_TYPE_LINK, \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2, 31);
- }
-
-}
-
-/**
- * @brief dumnmy class to test protected methods
- */
-class TestShareApi extends \OCA\Files\Share\Api {
- public function correctPathTest($path, $folder) {
- return self::correctPath($path, $folder);
- }
}
diff --git a/apps/files_sharing/tests/base.php b/apps/files_sharing/tests/base.php
index d44972d01f1..495dca072c7 100644
--- a/apps/files_sharing/tests/base.php
+++ b/apps/files_sharing/tests/base.php
@@ -102,22 +102,20 @@ abstract class Test_Files_Sharing_Base extends \PHPUnit_Framework_TestCase {
* @param bool $password
*/
protected static function loginHelper($user, $create = false, $password = false) {
- if ($create) {
- \OC_User::createUser($user, $user);
- }
if ($password === false) {
$password = $user;
}
+ if ($create) {
+ \OC_User::createUser($user, $password);
+ }
+
\OC_Util::tearDownFS();
\OC_User::setUserId('');
\OC\Files\Filesystem::tearDown();
- \OC_Util::setupFS($user);
\OC_User::setUserId($user);
-
- $params['uid'] = $user;
- $params['password'] = $password;
+ \OC_Util::setupFS($user);
}
/**
diff --git a/apps/files_sharing/tests/cache.php b/apps/files_sharing/tests/cache.php
index 47969833ab5..7a52f403d8e 100644
--- a/apps/files_sharing/tests/cache.php
+++ b/apps/files_sharing/tests/cache.php
@@ -68,7 +68,7 @@ class Test_Files_Sharing_Cache extends Test_Files_Sharing_Base {
// retrieve the shared storage
$secondView = new \OC\Files\View('/' . self::TEST_FILES_SHARING_API_USER2);
- list($this->sharedStorage, $internalPath) = $secondView->resolvePath('files/Shared/shareddir');
+ list($this->sharedStorage, $internalPath) = $secondView->resolvePath('files/shareddir');
$this->sharedCache = $this->sharedStorage->getCache();
}
@@ -99,45 +99,45 @@ class Test_Files_Sharing_Cache extends Test_Files_Sharing_Base {
$results = $this->sharedStorage->getCache()->searchByMime('text');
$check = array(
array(
- 'name' => 'shared single file.txt',
- 'path' => 'shared single file.txt'
- ),
- array(
'name' => 'bar.txt',
- 'path' => 'shareddir/bar.txt'
+ 'path' => 'files/shareddir/bar.txt'
),
array(
'name' => 'another too.txt',
- 'path' => 'shareddir/subdir/another too.txt'
+ 'path' => 'files/shareddir/subdir/another too.txt'
),
array(
'name' => 'another.txt',
- 'path' => 'shareddir/subdir/another.txt'
+ 'path' => 'files/shareddir/subdir/another.txt'
),
);
$this->verifyFiles($check, $results);
- $results2 = $this->sharedStorage->getCache()->searchByMime('text/plain');
-
$this->verifyFiles($check, $results);
}
function testGetFolderContentsInRoot() {
- $results = $this->user2View->getDirectoryContent('/Shared/');
+ $results = $this->user2View->getDirectoryContent('/');
+ // we should get the shared items "shareddir" and "shared single file.txt"
+ // additional root will always contain the example file "welcome.txt",
+ // so this will be part of the result
$this->verifyFiles(
array(
array(
+ 'name' => 'welcome.txt',
+ 'path' => 'files/welcome.txt',
+ 'mimetype' => 'text/plain',
+ ),
+ array(
'name' => 'shareddir',
- 'path' => '/shareddir',
+ 'path' => 'files/shareddir',
'mimetype' => 'httpd/unix-directory',
- 'usersPath' => 'files/Shared/shareddir'
),
array(
'name' => 'shared single file.txt',
- 'path' => '/shared single file.txt',
+ 'path' => 'files/shared single file.txt',
'mimetype' => 'text/plain',
- 'usersPath' => 'files/Shared/shared single file.txt'
),
),
$results
@@ -145,27 +145,24 @@ class Test_Files_Sharing_Cache extends Test_Files_Sharing_Base {
}
function testGetFolderContentsInSubdir() {
- $results = $this->user2View->getDirectoryContent('/Shared/shareddir');
+ $results = $this->user2View->getDirectoryContent('/shareddir');
$this->verifyFiles(
array(
array(
'name' => 'bar.txt',
- 'path' => 'files/container/shareddir/bar.txt',
+ 'path' => 'files/shareddir/bar.txt',
'mimetype' => 'text/plain',
- 'usersPath' => 'files/Shared/shareddir/bar.txt'
),
array(
'name' => 'emptydir',
- 'path' => 'files/container/shareddir/emptydir',
+ 'path' => 'files/shareddir/emptydir',
'mimetype' => 'httpd/unix-directory',
- 'usersPath' => 'files/Shared/shareddir/emptydir'
),
array(
'name' => 'subdir',
- 'path' => 'files/container/shareddir/subdir',
+ 'path' => 'files/shareddir/subdir',
'mimetype' => 'httpd/unix-directory',
- 'usersPath' => 'files/Shared/shareddir/subdir'
),
),
$results
@@ -182,27 +179,24 @@ class Test_Files_Sharing_Cache extends Test_Files_Sharing_Base {
self::loginHelper(self::TEST_FILES_SHARING_API_USER3);
$thirdView = new \OC\Files\View('/' . self::TEST_FILES_SHARING_API_USER3 . '/files');
- $results = $thirdView->getDirectoryContent('/Shared/subdir');
+ $results = $thirdView->getDirectoryContent('/subdir');
$this->verifyFiles(
array(
array(
'name' => 'another too.txt',
- 'path' => 'files/container/shareddir/subdir/another too.txt',
+ 'path' => 'files/subdir/another too.txt',
'mimetype' => 'text/plain',
- 'usersPath' => 'files/Shared/subdir/another too.txt'
),
array(
'name' => 'another.txt',
- 'path' => 'files/container/shareddir/subdir/another.txt',
+ 'path' => 'files/subdir/another.txt',
'mimetype' => 'text/plain',
- 'usersPath' => 'files/Shared/subdir/another.txt'
),
array(
'name' => 'not a text file.xml',
- 'path' => 'files/container/shareddir/subdir/not a text file.xml',
+ 'path' => 'files/subdir/not a text file.xml',
'mimetype' => 'application/xml',
- 'usersPath' => 'files/Shared/subdir/not a text file.xml'
),
),
$results
@@ -254,8 +248,8 @@ class Test_Files_Sharing_Cache extends Test_Files_Sharing_Base {
\OC_Util::tearDownFS();
self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
- $this->assertTrue(\OC\Files\Filesystem::file_exists('/Shared/test.txt'));
- list($sharedStorage) = \OC\Files\Filesystem::resolvePath('/' . self::TEST_FILES_SHARING_API_USER2 . '/files/Shared/test.txt');
+ $this->assertTrue(\OC\Files\Filesystem::file_exists('/test.txt'));
+ list($sharedStorage) = \OC\Files\Filesystem::resolvePath('/' . self::TEST_FILES_SHARING_API_USER2 . '/files/test.txt');
/**
* @var \OC\Files\Storage\Shared $sharedStorage
*/
@@ -275,8 +269,8 @@ class Test_Files_Sharing_Cache extends Test_Files_Sharing_Base {
\OC_Util::tearDownFS();
self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
- $this->assertTrue(\OC\Files\Filesystem::file_exists('/Shared/foo'));
- list($sharedStorage) = \OC\Files\Filesystem::resolvePath('/' . self::TEST_FILES_SHARING_API_USER2 . '/files/Shared/foo');
+ $this->assertTrue(\OC\Files\Filesystem::file_exists('/foo'));
+ list($sharedStorage) = \OC\Files\Filesystem::resolvePath('/' . self::TEST_FILES_SHARING_API_USER2 . '/files/foo');
/**
* @var \OC\Files\Storage\Shared $sharedStorage
*/
diff --git a/apps/files_sharing/tests/permissions.php b/apps/files_sharing/tests/permissions.php
index e301d384a49..5ac251b0527 100644
--- a/apps/files_sharing/tests/permissions.php
+++ b/apps/files_sharing/tests/permissions.php
@@ -23,6 +23,9 @@ require_once __DIR__ . '/base.php';
class Test_Files_Sharing_Permissions extends Test_Files_Sharing_Base {
+ private $sharedStorageRestrictedShare;
+ private $sharedCacheRestrictedShare;
+
function setUp() {
parent::setUp();
@@ -55,8 +58,10 @@ class Test_Files_Sharing_Permissions extends Test_Files_Sharing_Base {
// retrieve the shared storage
$this->secondView = new \OC\Files\View('/' . self::TEST_FILES_SHARING_API_USER2);
- list($this->sharedStorage, $internalPath) = $this->secondView->resolvePath('files/Shared/shareddir');
+ list($this->sharedStorage, $internalPath) = $this->secondView->resolvePath('files/shareddir');
+ list($this->sharedStorageRestrictedShare, $internalPath) = $this->secondView->resolvePath('files/shareddirrestricted');
$this->sharedCache = $this->sharedStorage->getCache();
+ $this->sharedCacheRestrictedShare = $this->sharedStorageRestrictedShare->getCache();
}
function tearDown() {
@@ -86,9 +91,9 @@ class Test_Files_Sharing_Permissions extends Test_Files_Sharing_Base {
$this->assertEquals(31, $sharedDirPerms);
$sharedDirPerms = $this->sharedStorage->getPermissions('shareddir/textfile.txt');
$this->assertEquals(31, $sharedDirPerms);
- $sharedDirRestrictedPerms = $this->sharedStorage->getPermissions('shareddirrestricted');
+ $sharedDirRestrictedPerms = $this->sharedStorageRestrictedShare->getPermissions('shareddirrestricted');
$this->assertEquals(7, $sharedDirRestrictedPerms);
- $sharedDirRestrictedPerms = $this->sharedStorage->getPermissions('shareddirrestricted/textfile.txt');
+ $sharedDirRestrictedPerms = $this->sharedStorageRestrictedShare->getPermissions('shareddirrestricted/textfile.txt');
$this->assertEquals(7, $sharedDirRestrictedPerms);
}
@@ -96,12 +101,12 @@ class Test_Files_Sharing_Permissions extends Test_Files_Sharing_Base {
* Test that the permissions of shared directory are returned correctly
*/
function testGetDirectoryPermissions() {
- $contents = $this->secondView->getDirectoryContent('files/Shared/shareddir');
+ $contents = $this->secondView->getDirectoryContent('files/shareddir');
$this->assertEquals('subdir', $contents[0]['name']);
$this->assertEquals(31, $contents[0]['permissions']);
$this->assertEquals('textfile.txt', $contents[1]['name']);
$this->assertEquals(31, $contents[1]['permissions']);
- $contents = $this->secondView->getDirectoryContent('files/Shared/shareddirrestricted');
+ $contents = $this->secondView->getDirectoryContent('files/shareddirrestricted');
$this->assertEquals('subdir', $contents[0]['name']);
$this->assertEquals(7, $contents[0]['permissions']);
$this->assertEquals('textfile1.txt', $contents[1]['name']);
diff --git a/apps/files_sharing/tests/watcher.php b/apps/files_sharing/tests/watcher.php
index 5ab716e829f..bce93c80a6c 100644
--- a/apps/files_sharing/tests/watcher.php
+++ b/apps/files_sharing/tests/watcher.php
@@ -48,7 +48,7 @@ class Test_Files_Sharing_Watcher extends Test_Files_Sharing_Base {
// retrieve the shared storage
$secondView = new \OC\Files\View('/' . self::TEST_FILES_SHARING_API_USER2);
- list($this->sharedStorage, $internalPath) = $secondView->resolvePath('files/Shared/shareddir');
+ list($this->sharedStorage, $internalPath) = $secondView->resolvePath('files/shareddir');
$this->sharedCache = $this->sharedStorage->getCache();
}
@@ -77,12 +77,12 @@ class Test_Files_Sharing_Watcher extends Test_Files_Sharing_Base {
$textData = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$dataLen = strlen($textData);
- $this->sharedCache->put('shareddir/bar.txt', array('storage_mtime' => 10));
- $this->sharedStorage->file_put_contents('shareddir/bar.txt', $textData);
- $this->sharedCache->put('shareddir', array('storage_mtime' => 10));
+ $this->sharedCache->put('bar.txt', array('mtime' => 10, 'storage_mtime' => 10, 'size' => $dataLen, 'mimetype' => 'text/plain'));
+ $this->sharedStorage->file_put_contents('bar.txt', $textData);
+ $this->sharedCache->put('', array('mtime' => 10, 'storage_mtime' => 10, 'size' => '-1', 'mimetype' => 'httpd/unix-directory'));
// run the propagation code
- $result = $this->sharedStorage->getWatcher()->checkUpdate('shareddir');
+ $result = $this->sharedStorage->getWatcher()->checkUpdate('');
$this->assertTrue($result);
@@ -94,7 +94,7 @@ class Test_Files_Sharing_Watcher extends Test_Files_Sharing_Base {
$this->assertEquals($initialSizes['files/container/shareddir'] + $dataLen, $newSizes['files/container/shareddir']);
// no more updates
- $result = $this->sharedStorage->getWatcher()->checkUpdate('shareddir');
+ $result = $this->sharedStorage->getWatcher()->checkUpdate('');
$this->assertFalse($result);
}
@@ -108,12 +108,12 @@ class Test_Files_Sharing_Watcher extends Test_Files_Sharing_Base {
$textData = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$dataLen = strlen($textData);
- $this->sharedCache->put('shareddir/subdir/bar.txt', array('storage_mtime' => 10));
- $this->sharedStorage->file_put_contents('shareddir/subdir/bar.txt', $textData);
- $this->sharedCache->put('shareddir/subdir', array('storage_mtime' => 10));
+ $this->sharedCache->put('subdir/bar.txt', array('mtime' => 10, 'storage_mtime' => 10, 'size' => $dataLen, 'mimetype' => 'text/plain'));
+ $this->sharedStorage->file_put_contents('subdir/bar.txt', $textData);
+ $this->sharedCache->put('subdir', array('mtime' => 10, 'storage_mtime' => 10, 'size' => $dataLen, 'mimetype' => 'text/plain'));
// run the propagation code
- $result = $this->sharedStorage->getWatcher()->checkUpdate('shareddir/subdir');
+ $result = $this->sharedStorage->getWatcher()->checkUpdate('subdir');
$this->assertTrue($result);
@@ -126,20 +126,9 @@ class Test_Files_Sharing_Watcher extends Test_Files_Sharing_Base {
$this->assertEquals($initialSizes['files/container/shareddir/subdir'] + $dataLen, $newSizes['files/container/shareddir/subdir']);
// no more updates
- $result = $this->sharedStorage->getWatcher()->checkUpdate('shareddir/subdir');
-
- $this->assertFalse($result);
- }
-
- function testNoUpdateOnRoot() {
- // no updates when called for root path
- $result = $this->sharedStorage->getWatcher()->checkUpdate('');
+ $result = $this->sharedStorage->getWatcher()->checkUpdate('subdir');
$this->assertFalse($result);
-
- // FIXME: for some reason when running this "naked" test,
- // there will be remaining nonsensical entries in the
- // database with a path "test-share-user1/container/..."
}
/**