diff options
-rw-r--r-- | apps/user_ldap/lib/connection.php | 9 | ||||
-rw-r--r-- | apps/user_ldap/lib/user/manager.php | 15 | ||||
-rw-r--r-- | apps/user_ldap/tests/user_ldap.php | 246 | ||||
-rw-r--r-- | apps/user_ldap/user_ldap.php | 16 | ||||
-rw-r--r-- | core/js/share.js | 4 | ||||
-rw-r--r-- | core/templates/login.php | 6 | ||||
-rw-r--r-- | lib/base.php | 4 | ||||
-rw-r--r-- | lib/private/files/filesystem.php | 62 | ||||
-rw-r--r-- | lib/private/hook.php | 3 | ||||
-rw-r--r-- | lib/private/servernotavailableexception.php | 27 | ||||
-rw-r--r-- | lib/private/user/nouserexception.php | 14 | ||||
-rw-r--r-- | tests/lib/files/filesystem.php | 22 | ||||
-rw-r--r-- | tests/lib/preview.php | 54 |
13 files changed, 348 insertions, 134 deletions
diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php index 1577d9facb8..b9d83aad684 100644 --- a/apps/user_ldap/lib/connection.php +++ b/apps/user_ldap/lib/connection.php @@ -30,8 +30,10 @@ namespace OCA\user_ldap\lib; -//magic properties (incomplete) +use OC\ServerNotAvailableException; + /** + * magic properties (incomplete) * responsible for LDAP connections in context with the provided configuration * * @property string ldapUserFilter @@ -54,7 +56,7 @@ class Connection extends LDAPUtility { //cache handler protected $cache; - //settings handler + /** @var Configuration settings handler **/ protected $configuration; protected $doNotValidate = false; @@ -167,7 +169,8 @@ class Connection extends LDAPUtility { $this->establishConnection(); } if(is_null($this->ldapConnectionRes)) { - \OCP\Util::writeLog('user_ldap', 'Connection could not be established', \OCP\Util::ERROR); + \OCP\Util::writeLog('user_ldap', 'No LDAP Connection to server ' . $this->configuration->ldapHost, \OCP\Util::ERROR); + throw new ServerNotAvailableException('Connection to LDAP server could not be established'); } return $this->ldapConnectionRes; } diff --git a/apps/user_ldap/lib/user/manager.php b/apps/user_ldap/lib/user/manager.php index c0bc8ea6230..c8c89374e98 100644 --- a/apps/user_ldap/lib/user/manager.php +++ b/apps/user_ldap/lib/user/manager.php @@ -149,6 +149,11 @@ class Manager { $this->access->getUserMapper()); } + /** + * @brief returns a User object by it's ownCloud username + * @param string the DN or username of the user + * @return \OCA\user_ldap\lib\user\User|\OCA\user_ldap\lib\user\OfflineUser|null + */ protected function createInstancyByUserName($id) { //most likely a uid. Check whether it is a deleted user if($this->isDeletedUser($id)) { @@ -158,13 +163,14 @@ class Manager { if($dn !== false) { return $this->createAndCache($dn, $id); } - throw new \Exception('Could not create User instance'); + return null; } /** * @brief returns a User object by it's DN or ownCloud username * @param string the DN or username of the user * @return \OCA\user_ldap\lib\user\User|\OCA\user_ldap\lib\user\OfflineUser|null + * @throws \Exception when connection could not be established */ public function get($id) { $this->checkAccess(); @@ -181,12 +187,7 @@ class Manager { } } - try { - $user = $this->createInstancyByUserName($id); - return $user; - } catch (\Exception $e) { - return null; - } + return $this->createInstancyByUserName($id); } } diff --git a/apps/user_ldap/tests/user_ldap.php b/apps/user_ldap/tests/user_ldap.php index b9beed1d35a..53229e2d64a 100644 --- a/apps/user_ldap/tests/user_ldap.php +++ b/apps/user_ldap/tests/user_ldap.php @@ -417,21 +417,53 @@ class Test_User_Ldap_Direct extends \Test\TestCase { $this->prepareMockForUserExists($access); $access->expects($this->any()) - ->method('readAttribute') - ->will($this->returnCallback(function($dn) { - if($dn === 'dnOfRoland,dc=test') { - return array(); - } - return false; - })); + ->method('readAttribute') + ->will($this->returnCallback(function($dn) { + if($dn === 'dnOfRoland,dc=test') { + return array(); + } + return false; + })); //test for existing user $result = $backend->userExists('gunslinger'); $this->assertTrue($result); + } + + /** + * @expectedException \Exception + */ + public function testUserExistsForDeleted() { + $access = $this->getAccessMock(); + $backend = new UserLDAP($access, $this->getMock('\OCP\IConfig')); + $this->prepareMockForUserExists($access); + + $access->expects($this->any()) + ->method('readAttribute') + ->will($this->returnCallback(function($dn) { + if($dn === 'dnOfRoland,dc=test') { + return array(); + } + return false; + })); //test for deleted user $result = $backend->userExists('formerUser'); - $this->assertFalse($result); + } + + public function testUserExistsForNeverExisting() { + $access = $this->getAccessMock(); + $backend = new UserLDAP($access, $this->getMock('\OCP\IConfig')); + $this->prepareMockForUserExists($access); + + $access->expects($this->any()) + ->method('readAttribute') + ->will($this->returnCallback(function($dn) { + if($dn === 'dnOfRoland,dc=test') { + return array(); + } + return false; + })); //test for never-existing user $result = $backend->userExists('mallory'); @@ -445,21 +477,55 @@ class Test_User_Ldap_Direct extends \Test\TestCase { \OC_User::useBackend($backend); $access->expects($this->any()) - ->method('readAttribute') - ->will($this->returnCallback(function($dn) { - if($dn === 'dnOfRoland,dc=test') { - return array(); - } - return false; - })); + ->method('readAttribute') + ->will($this->returnCallback(function($dn) { + if($dn === 'dnOfRoland,dc=test') { + return array(); + } + return false; + })); //test for existing user $result = \OCP\User::userExists('gunslinger'); $this->assertTrue($result); + } + + /** + * @expectedException \Exception + */ + public function testUserExistsPublicAPIForDeleted() { + $access = $this->getAccessMock(); + $backend = new UserLDAP($access, $this->getMock('\OCP\IConfig')); + $this->prepareMockForUserExists($access); + \OC_User::useBackend($backend); + + $access->expects($this->any()) + ->method('readAttribute') + ->will($this->returnCallback(function($dn) { + if($dn === 'dnOfRoland,dc=test') { + return array(); + } + return false; + })); //test for deleted user $result = \OCP\User::userExists('formerUser'); - $this->assertFalse($result); + } + + public function testUserExistsPublicAPIForNeverExisting() { + $access = $this->getAccessMock(); + $backend = new UserLDAP($access, $this->getMock('\OCP\IConfig')); + $this->prepareMockForUserExists($access); + \OC_User::useBackend($backend); + + $access->expects($this->any()) + ->method('readAttribute') + ->will($this->returnCallback(function($dn) { + if($dn === 'dnOfRoland,dc=test') { + return array(); + } + return false; + })); //test for never-existing user $result = \OCP\User::userExists('mallory'); @@ -475,54 +541,105 @@ class Test_User_Ldap_Direct extends \Test\TestCase { $this->assertFalse($result); } - public function testGetHome() { + public function testGetHomeAbsolutePath() { $access = $this->getAccessMock(); $config = $this->getMock('\OCP\IConfig'); $backend = new UserLDAP($access, $config); $this->prepareMockForUserExists($access); $access->connection->expects($this->any()) - ->method('__get') - ->will($this->returnCallback(function($name) { - if($name === 'homeFolderNamingRule') { - return 'attr:testAttribute'; - } - return null; - })); + ->method('__get') + ->will($this->returnCallback(function($name) { + if($name === 'homeFolderNamingRule') { + return 'attr:testAttribute'; + } + return null; + })); $access->expects($this->any()) - ->method('readAttribute') - ->will($this->returnCallback(function($dn, $attr) { - switch ($dn) { - case 'dnOfRoland,dc=test': - if($attr === 'testAttribute') { - return array('/tmp/rolandshome/'); - } - return array(); - break; - case 'dnOfLadyOfShadows,dc=test': - if($attr === 'testAttribute') { - return array('susannah/'); - } - return array(); - break; - default: - return false; - } - })); - - $datadir = '/my/data/dir'; - $config->expects($this->once()) - ->method('getSystemValue') - ->will($this->returnValue($datadir)); + ->method('readAttribute') + ->will($this->returnCallback(function($dn, $attr) { + switch ($dn) { + case 'dnOfRoland,dc=test': + if($attr === 'testAttribute') { + return array('/tmp/rolandshome/'); + } + return array(); + break; + default: + return false; + } + })); //absolut path $result = $backend->getHome('gunslinger'); $this->assertEquals('/tmp/rolandshome/', $result); + } + public function testGetHomeRelative() { + $access = $this->getAccessMock(); + $config = $this->getMock('\OCP\IConfig'); + $backend = new UserLDAP($access, $config); + $this->prepareMockForUserExists($access); + + $access->connection->expects($this->any()) + ->method('__get') + ->will($this->returnCallback(function($name) { + if($name === 'homeFolderNamingRule') { + return 'attr:testAttribute'; + } + return null; + })); + + $access->expects($this->any()) + ->method('readAttribute') + ->will($this->returnCallback(function($dn, $attr) { + switch ($dn) { + case 'dnOfLadyOfShadows,dc=test': + if($attr === 'testAttribute') { + return array('susannah/'); + } + return array(); + break; + default: + return false; + } + })); //datadir-relativ path + $datadir = '/my/data/dir'; + $config->expects($this->once()) + ->method('getSystemValue') + ->will($this->returnValue($datadir)); + $result = $backend->getHome('ladyofshadows'); $this->assertEquals($datadir.'/susannah/', $result); + } + + /** + * @expectedException \Exception + */ + public function testGetHomeNoPath() { + $access = $this->getAccessMock(); + $backend = new UserLDAP($access, $this->getMock('\OCP\IConfig')); + $this->prepareMockForUserExists($access); + + $access->connection->expects($this->any()) + ->method('__get') + ->will($this->returnCallback(function($name) { + if($name === 'homeFolderNamingRule') { + return 'attr:testAttribute'; + } + return null; + })); + + $access->expects($this->any()) + ->method('readAttribute') + ->will($this->returnCallback(function($dn, $attr) { + switch ($dn) { + default: + return false; + } + })); //no path at all – triggers OC default behaviour $result = $backend->getHome('newyorker'); @@ -562,6 +679,12 @@ class Test_User_Ldap_Direct extends \Test\TestCase { $backend = new UserLDAP($access, $this->getMock('\OCP\IConfig')); $this->prepareMockForUserExists($access); + $access->connection->expects($this->any()) + ->method('getConnectionResource') + ->will($this->returnCallback(function() { + return true; + })); + //with displayName $result = $backend->getDisplayName('gunslinger'); $this->assertEquals('Roland Deschain', $result); @@ -573,9 +696,36 @@ class Test_User_Ldap_Direct extends \Test\TestCase { public function testGetDisplayNamePublicAPI() { $access = $this->getAccessMock(); + $access->expects($this->any()) + ->method('username2dn') + ->will($this->returnCallback(function($uid) { + switch ($uid) { + case 'gunslinger': + return 'dnOfRoland,dc=test'; + break; + case 'formerUser': + return 'dnOfFormerUser,dc=test'; + break; + case 'newyorker': + return 'dnOfNewYorker,dc=test'; + break; + case 'ladyofshadows': + return 'dnOfLadyOfShadows,dc=test'; + break; + default: + return false; + } + })); $this->prepareAccessForGetDisplayName($access); $backend = new UserLDAP($access, $this->getMock('\OCP\IConfig')); $this->prepareMockForUserExists($access); + + $access->connection->expects($this->any()) + ->method('getConnectionResource') + ->will($this->returnCallback(function() { + return true; + })); + \OC_User::useBackend($backend); //with displayName diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php index 54e14c093f3..cd8a2dd251c 100644 --- a/apps/user_ldap/user_ldap.php +++ b/apps/user_ldap/user_ldap.php @@ -190,6 +190,7 @@ class USER_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn * check if a user exists * @param string $uid the username * @return boolean + * @throws \Exception when connection could not be established */ public function userExists($uid) { if($this->access->connection->isCached('userExists'.$uid)) { @@ -208,17 +209,12 @@ class USER_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn return true; } - try { - $result = $this->userExistsOnLDAP($user); - $this->access->connection->writeToCache('userExists'.$uid, $result); - if($result === true) { - $user->update(); - } - return $result; - } catch (\Exception $e) { - \OCP\Util::writeLog('user_ldap', $e->getMessage(), \OCP\Util::WARN); - return false; + $result = $this->userExistsOnLDAP($user); + $this->access->connection->writeToCache('userExists'.$uid, $result); + if($result === true) { + $user->update(); } + return $result; } /** diff --git a/core/js/share.js b/core/js/share.js index 5018d10ee9c..f22a6a78cfd 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -499,6 +499,10 @@ OC.Share={ } else { response(); } + }).fail(function(){ + $('#dropdown').find('.shareWithLoading').addClass('hidden'); + OC.Notification.show(t('core', 'An error occured. Please try again')); + window.setTimeout(OC.Notification.hide, 5000); }); }, focus: function(event, focused) { diff --git a/core/templates/login.php b/core/templates/login.php index 0ef7882d4b0..b24c9cb07d0 100644 --- a/core/templates/login.php +++ b/core/templates/login.php @@ -24,6 +24,12 @@ script('core', [ <?php p($message); ?><br> </div> <?php endforeach; ?> + <?php if (isset($_['internalexception']) && ($_['internalexception'])): ?> + <div class="warning"> + <?php p($l->t('An internal error occured.')); ?><br> + <small><?php p($l->t('Please try again or contact your administrator.')); ?></small> + </div> + <?php endif; ?> <p id="message" class="hidden"> <img class="float-spinner" alt="" src="<?php p(\OCP\Util::imagePath('core', 'loading-dark.gif'));?>"> diff --git a/lib/base.php b/lib/base.php index 74c1e8c0f42..f0c54640b17 100644 --- a/lib/base.php +++ b/lib/base.php @@ -967,6 +967,10 @@ class OC { } } catch (\OC\User\LoginException $e) { $messages[] = $e->getMessage(); + } catch (\Exception $ex) { + \OCP\Util::logException('handleLogin', $ex); + // do not disclose information. show generic error + $error[] = 'internalexception'; } OC_Util::displayLoginPage(array_unique($error), $messages); diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php index 95e630b7765..10c64e1301a 100644 --- a/lib/private/files/filesystem.php +++ b/lib/private/files/filesystem.php @@ -373,42 +373,42 @@ class Filesystem { $userObject = \OC_User::getManager()->get($user); - if (!is_null($userObject)) { - $homeStorage = \OC_Config::getValue( 'objectstore' ); - if (!empty($homeStorage)) { - // sanity checks - if (empty($homeStorage['class'])) { - \OCP\Util::writeLog('files', 'No class given for objectstore', \OCP\Util::ERROR); - } - if (!isset($homeStorage['arguments'])) { - $homeStorage['arguments'] = array(); - } - // instantiate object store implementation - $homeStorage['arguments']['objectstore'] = new $homeStorage['class']($homeStorage['arguments']); - // mount with home object store implementation - $homeStorage['class'] = '\OC\Files\ObjectStore\HomeObjectStoreStorage'; - } else { - $homeStorage = array( - //default home storage configuration: - 'class' => '\OC\Files\Storage\Home', - 'arguments' => array() - ); - } - $homeStorage['arguments']['user'] = $userObject; + if (is_null($userObject)) { + \OCP\Util::writeLog('files', ' Backends provided no user object for '.$user, \OCP\Util::ERROR); + throw new \OC\User\NoUserException(); + } - // check for legacy home id (<= 5.0.12) - if (\OC\Files\Cache\Storage::exists('local::' . $root . '/')) { - $homeStorage['arguments']['legacy'] = true; + $homeStorage = \OC_Config::getValue( 'objectstore' ); + if (!empty($homeStorage)) { + // sanity checks + if (empty($homeStorage['class'])) { + \OCP\Util::writeLog('files', 'No class given for objectstore', \OCP\Util::ERROR); } - - self::mount($homeStorage['class'], $homeStorage['arguments'], $user); - - $home = \OC\Files\Filesystem::getStorage($user); + if (!isset($homeStorage['arguments'])) { + $homeStorage['arguments'] = array(); + } + // instantiate object store implementation + $homeStorage['arguments']['objectstore'] = new $homeStorage['class']($homeStorage['arguments']); + // mount with home object store implementation + $homeStorage['class'] = '\OC\Files\ObjectStore\HomeObjectStoreStorage'; + } else { + $homeStorage = array( + //default home storage configuration: + 'class' => '\OC\Files\Storage\Home', + 'arguments' => array() + ); } - else { - self::mount('\OC\Files\Storage\Local', array('datadir' => $root), $user); + $homeStorage['arguments']['user'] = $userObject; + + // check for legacy home id (<= 5.0.12) + if (\OC\Files\Cache\Storage::exists('local::' . $root . '/')) { + $homeStorage['arguments']['legacy'] = true; } + self::mount($homeStorage['class'], $homeStorage['arguments'], $user); + + $home = \OC\Files\Filesystem::getStorage($user); + self::mountCacheDir($user); // Chance to mount for other storages diff --git a/lib/private/hook.php b/lib/private/hook.php index c4ea1999b09..188c3d65acb 100644 --- a/lib/private/hook.php +++ b/lib/private/hook.php @@ -114,6 +114,9 @@ class OC_Hook{ OC_Log::write('hook', 'error while running hook (' . $class . '::' . $i["name"] . '): ' . $message, OC_Log::ERROR); + if($e instanceof \OC\ServerNotAvailableException) { + throw $e; + } } } diff --git a/lib/private/servernotavailableexception.php b/lib/private/servernotavailableexception.php new file mode 100644 index 00000000000..5a57917d23a --- /dev/null +++ b/lib/private/servernotavailableexception.php @@ -0,0 +1,27 @@ +<?php +/** + * @author Morris Jobke <hey@morrisjobke.de> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OC; + + +class ServerNotAvailableException extends \Exception { + +} diff --git a/lib/private/user/nouserexception.php b/lib/private/user/nouserexception.php new file mode 100644 index 00000000000..9452362b4e6 --- /dev/null +++ b/lib/private/user/nouserexception.php @@ -0,0 +1,14 @@ +<?php +/** + * ownCloud + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING-AGPL file. + * + * @author Jörn Friedrich Dreyer <jfd@owncloud.com> + * @copyright Jörn Friedrich Dreyer 2015 + */ + +namespace OC\User; + +class NoUserException extends \Exception {}
\ No newline at end of file diff --git a/tests/lib/files/filesystem.php b/tests/lib/files/filesystem.php index 98e96e0cc78..082d22781fa 100644 --- a/tests/lib/files/filesystem.php +++ b/tests/lib/files/filesystem.php @@ -22,7 +22,12 @@ namespace Test\Files; +use OC\User\NoUserException; + class Filesystem extends \Test\TestCase { + + const TEST_FILESYSTEM_USER1 = "test-filesystem-user1"; + /** * @var array tmpDirs */ @@ -236,8 +241,14 @@ class Filesystem extends \Test\TestCase { if (\OC\Files\Filesystem::getView()) { $user = \OC_User::getUser(); } else { - $user = $this->getUniqueID(); + $user = self::TEST_FILESYSTEM_USER1; + $backend = new \OC_User_Dummy(); + \OC_User::useBackend($backend); + $backend->createUser($user, $user); + $userObj = \OC::$server->getUserManager()->get($user); + \OC::$server->getUserSession()->setUser($userObj); \OC\Files\Filesystem::init($user, '/' . $user . '/files'); + } \OC_Hook::clear('OC_Filesystem'); \OC_Hook::connect('OC_Filesystem', 'post_write', $this, 'dummyHook'); @@ -259,19 +270,14 @@ class Filesystem extends \Test\TestCase { } /** - * Tests that a local storage mount is used when passed user - * does not exist. + * Tests that an exception is thrown when passed user does not exist. + * @expectedException \OC\User\NoUserException */ public function testLocalMountWhenUserDoesNotExist() { $datadir = \OC_Config::getValue("datadirectory", \OC::$SERVERROOT . "/data"); $userId = $this->getUniqueID('user_'); \OC\Files\Filesystem::initMountPoints($userId); - - $homeMount = \OC\Files\Filesystem::getStorage('/' . $userId . '/'); - - $this->assertTrue($homeMount->instanceOfStorage('\OC\Files\Storage\Local')); - $this->assertEquals('local::' . $datadir . '/' . $userId . '/', $homeMount->getId()); } /** diff --git a/tests/lib/preview.php b/tests/lib/preview.php index ea9de9b777e..20e4209dedf 100644 --- a/tests/lib/preview.php +++ b/tests/lib/preview.php @@ -10,10 +10,7 @@ namespace Test; class Preview extends TestCase { - /** - * @var string - */ - private $user; + const TEST_PREVIEW_USER1 = "test-preview-user1"; /** * @var \OC\Files\View @@ -32,15 +29,18 @@ class Preview extends TestCase { // create a new user with his own filesystem view // this gets called by each test in this test class - $this->user = $this->getUniqueID(); - \OC_User::setUserId($this->user); - \OC\Files\Filesystem::init($this->user, '/' . $this->user . '/files'); + $backend = new \OC_User_Dummy(); + \OC_User::useBackend($backend); + $backend->createUser(self::TEST_PREVIEW_USER1, self::TEST_PREVIEW_USER1); + $user = \OC::$server->getUserManager()->get(self::TEST_PREVIEW_USER1); + \OC::$server->getUserSession()->setUser($user); + \OC\Files\Filesystem::init(self::TEST_PREVIEW_USER1, '/' . self::TEST_PREVIEW_USER1 . '/files'); \OC\Files\Filesystem::mount('OC\Files\Storage\Temporary', array(), '/'); $this->rootView = new \OC\Files\View(''); - $this->rootView->mkdir('/'.$this->user); - $this->rootView->mkdir('/'.$this->user.'/files'); + $this->rootView->mkdir('/'.self::TEST_PREVIEW_USER1); + $this->rootView->mkdir('/'.self::TEST_PREVIEW_USER1.'/files'); } protected function tearDown() { @@ -59,14 +59,14 @@ class Preview extends TestCase { \OC::$server->getConfig()->setSystemValue('preview_max_y', $maxY); // Sample is 1680x1050 JPEG - $sampleFile = '/' . $this->user . '/files/testimage.jpg'; + $sampleFile = '/' . self::TEST_PREVIEW_USER1 . '/files/testimage.jpg'; $this->rootView->file_put_contents($sampleFile, file_get_contents(\OC::$SERVERROOT.'/tests/data/testimage.jpg')); $fileInfo = $this->rootView->getFileInfo($sampleFile); $fileId = $fileInfo['fileid']; $largeX = 1920; $largeY = 1080; - $preview = new \OC\Preview($this->user, 'files/', 'testimage.jpg', $largeX, $largeY); + $preview = new \OC\Preview(self::TEST_PREVIEW_USER1, 'files/', 'testimage.jpg', $largeX, $largeY); $this->assertEquals($preview->isFileValid(), true); @@ -84,7 +84,7 @@ class Preview extends TestCase { $this->assertEquals($image->height(), $maxY); // The max thumbnail should be created - $maxThumbCacheFile = '/' . $this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $maxX . '-' . $maxY . '-max.png'; + $maxThumbCacheFile = '/' . self::TEST_PREVIEW_USER1 . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $maxX . '-' . $maxY . '-max.png'; $this->assertEquals($this->rootView->file_exists($maxThumbCacheFile), true); @@ -100,7 +100,7 @@ class Preview extends TestCase { // Smaller previews should be based on the cached max preview $smallX = 50; $smallY = 50; - $preview = new \OC\Preview($this->user, 'files/', 'testimage.jpg', $smallX, $smallY); + $preview = new \OC\Preview(self::TEST_PREVIEW_USER1, 'files/', 'testimage.jpg', $smallX, $smallY); $isCached = $preview->isCached($fileId); $this->assertEquals(\OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $maxX . '-' . $maxY . '.png', $isCached); @@ -111,7 +111,7 @@ class Preview extends TestCase { $this->assertEquals($image->height(), $smallY); // The cache should contain the small preview - $thumbCacheFile = '/' . $this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $smallX . '-' . $smallY . '.png'; + $thumbCacheFile = '/' . self::TEST_PREVIEW_USER1 . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $smallX . '-' . $smallY . '.png'; $this->assertEquals($this->rootView->file_exists($thumbCacheFile), true); @@ -123,20 +123,20 @@ class Preview extends TestCase { public function testIsPreviewDeleted() { - $sampleFile = '/'.$this->user.'/files/test.txt'; + $sampleFile = '/'.self::TEST_PREVIEW_USER1.'/files/test.txt'; $this->rootView->file_put_contents($sampleFile, 'dummy file data'); $x = 50; $y = 50; - $preview = new \OC\Preview($this->user, 'files/', 'test.txt', $x, $y); + $preview = new \OC\Preview(self::TEST_PREVIEW_USER1, 'files/', 'test.txt', $x, $y); $preview->getPreview(); $fileInfo = $this->rootView->getFileInfo($sampleFile); $fileId = $fileInfo['fileid']; - $thumbCacheFile = '/' . $this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $x . '-' . $y . '.png'; + $thumbCacheFile = '/' . self::TEST_PREVIEW_USER1 . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $x . '-' . $y . '.png'; $this->assertEquals($this->rootView->file_exists($thumbCacheFile), true); @@ -147,20 +147,20 @@ class Preview extends TestCase { public function testAreAllPreviewsDeleted() { - $sampleFile = '/'.$this->user.'/files/test.txt'; + $sampleFile = '/'.self::TEST_PREVIEW_USER1.'/files/test.txt'; $this->rootView->file_put_contents($sampleFile, 'dummy file data'); $x = 50; $y = 50; - $preview = new \OC\Preview($this->user, 'files/', 'test.txt', $x, $y); + $preview = new \OC\Preview(self::TEST_PREVIEW_USER1, 'files/', 'test.txt', $x, $y); $preview->getPreview(); $fileInfo = $this->rootView->getFileInfo($sampleFile); $fileId = $fileInfo['fileid']; - $thumbCacheFolder = '/' . $this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/'; + $thumbCacheFolder = '/' . self::TEST_PREVIEW_USER1 . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/'; $this->assertEquals($this->rootView->is_dir($thumbCacheFolder), true); @@ -185,9 +185,9 @@ class Preview extends TestCase { $x = 32; $y = 32; - $sample = '/'.$this->user.'/files/test.'.$extension; + $sample = '/'.self::TEST_PREVIEW_USER1.'/files/test.'.$extension; $this->rootView->file_put_contents($sample, $data); - $preview = new \OC\Preview($this->user, 'files/', 'test.'.$extension, $x, $y); + $preview = new \OC\Preview(self::TEST_PREVIEW_USER1, 'files/', 'test.'.$extension, $x, $y); $image = $preview->getPreview(); $resource = $image->resource(); @@ -203,7 +203,7 @@ class Preview extends TestCase { public function testCreationFromCached() { - $sampleFile = '/'.$this->user.'/files/test.txt'; + $sampleFile = '/'.self::TEST_PREVIEW_USER1.'/files/test.txt'; $this->rootView->file_put_contents($sampleFile, 'dummy file data'); @@ -211,22 +211,22 @@ class Preview extends TestCase { $x = 150; $y = 150; - $preview = new \OC\Preview($this->user, 'files/', 'test.txt', $x, $y); + $preview = new \OC\Preview(self::TEST_PREVIEW_USER1, 'files/', 'test.txt', $x, $y); $preview->getPreview(); $fileInfo = $this->rootView->getFileInfo($sampleFile); $fileId = $fileInfo['fileid']; - $thumbCacheFile = '/' . $this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $x . '-' . $y . '.png'; + $thumbCacheFile = '/' . self::TEST_PREVIEW_USER1 . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/' . $x . '-' . $y . '.png'; $this->assertEquals($this->rootView->file_exists($thumbCacheFile), true); // create smaller previews - $preview = new \OC\Preview($this->user, 'files/', 'test.txt', 50, 50); + $preview = new \OC\Preview(self::TEST_PREVIEW_USER1, 'files/', 'test.txt', 50, 50); $isCached = $preview->isCached($fileId); - $this->assertEquals($this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/150-150.png', $isCached); + $this->assertEquals(self::TEST_PREVIEW_USER1 . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/150-150.png', $isCached); } /* |