summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2015-11-10 11:06:48 +0100
committerRobin Appelman <icewind@owncloud.com>2015-11-10 11:06:48 +0100
commit20cad09f7fa7f81862fbfb538bed7ddd8c0923b3 (patch)
treeecd8c38ee9a62974baa94a0b704ccf07776b6654 /tests
parent331ef0e3c0a1417f70bf9eb417ec078412d04c5c (diff)
downloadnextcloud-server-20cad09f7fa7f81862fbfb538bed7ddd8c0923b3.tar.gz
nextcloud-server-20cad09f7fa7f81862fbfb538bed7ddd8c0923b3.zip
Add tests for FileInfo owner
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/files/view.php54
1 files changed, 44 insertions, 10 deletions
diff --git a/tests/lib/files/view.php b/tests/lib/files/view.php
index a7979146b85..f0bad5abd18 100644
--- a/tests/lib/files/view.php
+++ b/tests/lib/files/view.php
@@ -11,6 +11,7 @@ use OC\Files\Cache\Watcher;
use OC\Files\Storage\Common;
use OC\Files\Mount\MountPoint;
use OC\Files\Storage\Temporary;
+use OCP\Files\FileInfo;
use OCP\Lock\ILockingProvider;
class TemporaryNoTouch extends \OC\Files\Storage\Temporary {
@@ -1560,6 +1561,7 @@ class View extends \Test\TestCase {
$this->assertTrue($view->rename('mount1', 'renamed_mount'), 'Can rename mount point');
$this->assertTrue($view->rename('mount2', 'sub/moved_mount'), 'Can move a mount point into a subdirectory');
}
+
/**
* Test that moving a mount point into another is forbidden
*/
@@ -1582,6 +1584,7 @@ class View extends \Test\TestCase {
$this->assertFalse($view->rename('mount1', 'mount2'), 'Cannot overwrite another mount point');
$this->assertFalse($view->rename('mount1', 'mount2/sub'), 'Cannot move a mount point into another');
}
+
/**
* Test that moving a mount point into a shared folder is forbidden
*/
@@ -1765,7 +1768,7 @@ class View extends \Test\TestCase {
$storage->expects($this->once())
->method($operation)
->will($this->returnCallback(
- function() use ($view, $lockedPath, &$lockTypeDuring){
+ function () use ($view, $lockedPath, &$lockTypeDuring) {
$lockTypeDuring = $this->getFileLockType($view, $lockedPath);
return true;
@@ -1808,7 +1811,7 @@ class View extends \Test\TestCase {
$storage->expects($this->once())
->method('fopen')
->will($this->returnCallback(
- function() use ($view, $path, &$lockTypeDuring){
+ function () use ($view, $path, &$lockTypeDuring) {
$lockTypeDuring = $this->getFileLockType($view, $path);
return fopen('php://temp', 'r+');
@@ -1846,7 +1849,7 @@ class View extends \Test\TestCase {
$storage->expects($this->once())
->method('fopen')
->will($this->returnCallback(
- function() use ($view, $path, &$lockTypeDuring){
+ function () use ($view, $path, &$lockTypeDuring) {
$lockTypeDuring = $this->getFileLockType($view, $path);
return fopen('php://temp', 'r+');
@@ -1903,7 +1906,7 @@ class View extends \Test\TestCase {
$storage->expects($this->once())
->method($operation)
->will($this->returnCallback(
- function() {
+ function () {
throw new \Exception('Simulated exception');
}
));
@@ -1993,7 +1996,7 @@ class View extends \Test\TestCase {
$storage->expects($this->once())
->method($operation)
->will($this->returnCallback(
- function() use ($view, $sourcePath, $targetPath, &$lockTypeSourceDuring, &$lockTypeTargetDuring){
+ function () use ($view, $sourcePath, $targetPath, &$lockTypeSourceDuring, &$lockTypeTargetDuring) {
$lockTypeSourceDuring = $this->getFileLockType($view, $sourcePath);
$lockTypeTargetDuring = $this->getFileLockType($view, $targetPath);
@@ -2044,7 +2047,7 @@ class View extends \Test\TestCase {
$storage->expects($this->once())
->method('copy')
->will($this->returnCallback(
- function() {
+ function () {
throw new \Exception();
}
));
@@ -2097,6 +2100,37 @@ class View extends \Test\TestCase {
$view->unlockFile($targetPath, ILockingProvider::LOCK_EXCLUSIVE);
}
+ /**
+ * Test rename operation: unlock first path when second path was locked
+ */
+ public function testGetOwner() {
+ $this->loginAsUser('test');
+
+ $view = new \OC\Files\View('/test/files/');
+
+ $path = 'foo.txt';
+ $view->file_put_contents($path, 'meh');
+
+ $this->assertEquals('test', $view->getFileInfo($path)->getOwner()->getUID());
+
+ $folderInfo = $view->getDirectoryContent('');
+ $folderInfo = array_values(array_filter($folderInfo, function (FileInfo $info) {
+ return $info->getName() === 'foo.txt';
+ }));
+
+ $this->assertEquals('test', $folderInfo[0]->getOwner()->getUID());
+
+ $subStorage = new Temporary();
+ \OC\Files\Filesystem::mount($subStorage, [], '/test/files/asd');
+
+ $folderInfo = $view->getDirectoryContent('');
+ $folderInfo = array_values(array_filter($folderInfo, function (FileInfo $info) {
+ return $info->getName() === 'asd';
+ }));
+
+ $this->assertEquals('test', $folderInfo[0]->getOwner()->getUID());
+ }
+
public function lockFileRenameOrCopyCrossStorageDataProvider() {
return [
['rename', 'moveFromStorage', ILockingProvider::LOCK_EXCLUSIVE],
@@ -2141,7 +2175,7 @@ class View extends \Test\TestCase {
$storage2->expects($this->once())
->method($storageOperation)
->will($this->returnCallback(
- function() use ($view, $sourcePath, $targetPath, &$lockTypeSourceDuring, &$lockTypeTargetDuring){
+ function () use ($view, $sourcePath, $targetPath, &$lockTypeSourceDuring, &$lockTypeTargetDuring) {
$lockTypeSourceDuring = $this->getFileLockType($view, $sourcePath);
$lockTypeTargetDuring = $this->getFileLockType($view, $targetPath);
@@ -2188,7 +2222,7 @@ class View extends \Test\TestCase {
$mount->expects($this->once())
->method('moveMount')
->will($this->returnCallback(
- function($target) use ($mount, $view, $sourcePath, $targetPath, &$lockTypeSourceDuring, &$lockTypeTargetDuring, &$lockTypeSharedRootDuring){
+ function ($target) use ($mount, $view, $sourcePath, $targetPath, &$lockTypeSourceDuring, &$lockTypeTargetDuring, &$lockTypeSharedRootDuring) {
$lockTypeSourceDuring = $this->getFileLockType($view, $sourcePath, true);
$lockTypeTargetDuring = $this->getFileLockType($view, $targetPath, true);
@@ -2253,14 +2287,14 @@ class View extends \Test\TestCase {
$eventHandler->expects($this->any())
->method('preCallback')
->will($this->returnCallback(
- function() use ($view, $path, $onMountPoint, &$lockTypePre){
+ function () use ($view, $path, $onMountPoint, &$lockTypePre) {
$lockTypePre = $this->getFileLockType($view, $path, $onMountPoint);
}
));
$eventHandler->expects($this->any())
->method('postCallback')
->will($this->returnCallback(
- function() use ($view, $path, $onMountPoint, &$lockTypePost){
+ function () use ($view, $path, $onMountPoint, &$lockTypePost) {
$lockTypePost = $this->getFileLockType($view, $path, $onMountPoint);
}
));