]> source.dussan.org Git - nextcloud-server.git/commitdiff
Correctly restore previous root mount point after testing
authorJoas Schilling <nickvergessen@gmx.de>
Wed, 12 Nov 2014 14:54:41 +0000 (15:54 +0100)
committerJoas Schilling <nickvergessen@gmx.de>
Wed, 19 Nov 2014 09:06:13 +0000 (10:06 +0100)
Conflicts:
tests/lib/cache/file.php
tests/lib/cache/usercache.php

15 files changed:
apps/files/tests/ajax_rename.php
tests/lib/cache/file.php
tests/lib/cache/usercache.php
tests/lib/files/cache/updater.php
tests/lib/files/cache/updaterlegacy.php
tests/lib/files/cache/watcher.php
tests/lib/files/etagtest.php
tests/lib/files/filesystem.php
tests/lib/files/node/integration.php
tests/lib/files/utils/scanner.php
tests/lib/files/view.php
tests/lib/helperstorage.php
tests/lib/migrate.php
tests/lib/preview.php
tests/lib/streamwrappers.php

index 5ed8b1931f4e8138cd4c7f2a7a758baa4dba2e99..3bccaca123174758664ecb5be2d5fa6ee5b33b81 100644 (file)
@@ -34,7 +34,14 @@ class Test_OC_Files_App_Rename extends \PHPUnit_Framework_TestCase {
         */
        private $files;
 
-       function setUp() {
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
+       protected function setUp() {
+               parent::setUp();
+
+               $this->originalStorage = \OC\Files\Filesystem::getStorage('/');
+
                // mock OC_L10n
                if (!self::$user) {
                        self::$user = uniqid();
@@ -59,10 +66,13 @@ class Test_OC_Files_App_Rename extends \PHPUnit_Framework_TestCase {
                $this->files = new \OCA\Files\App($viewMock, $l10nMock);
        }
 
-       function tearDown() {
+       protected function tearDown() {
                $result = \OC_User::deleteUser(self::$user);
                $this->assertTrue($result);
                \OC\Files\Filesystem::tearDown();
+               \OC\Files\Filesystem::mount($this->originalStorage, array(), '/');
+
+               parent::tearDown();
        }
 
        /**
index 3767c83fcb1c28d76153c0e6de733ee4705d728a..77331a6c9f06d03595a3acbbc1b0c5b33f0a8696 100644 (file)
 namespace Test\Cache;
 
 class FileCache extends \Test_Cache {
+       /** @var string */
        private $user;
+       /** @var string */
        private $datadir;
+       /** @var \OC\Files\Storage\Storage */
+       private $storage;
 
        function skip() {
                //$this->skipUnless(OC_User::isLoggedIn());
@@ -42,6 +46,7 @@ class FileCache extends \Test_Cache {
                //}
 
                //set up temporary storage
+               $this->storage = \OC\Files\Filesystem::getStorage('/');
                \OC\Files\Filesystem::clearMounts();
                $storage = new \OC\Files\Storage\Temporary(array());
                \OC\Files\Filesystem::mount($storage,array(),'/');
@@ -68,5 +73,11 @@ class FileCache extends \Test_Cache {
        public function tearDown() {
                \OC_User::setUserId($this->user);
                \OC_Config::setValue('datadirectory', $this->datadir);
+
+               // Restore the original mount point
+               \OC\Files\Filesystem::clearMounts();
+               \OC\Files\Filesystem::mount($this->storage, array(), '/');
+
+               parent::tearDown();
        }
 }
index 21b7f848ab6d85f4a4ce83c6a71cf414826b423d..89beaabe76a745e4c9edf4fdc928b96474a1a752 100644 (file)
 namespace Test\Cache;
 
 class UserCache extends \Test_Cache {
+       /** @var string */
        private $user;
+       /** @var string */
        private $datadir;
+       /** @var \OC\Files\Storage\Storage */
+       private $storage;
 
        public function setUp() {
                //clear all proxies and hooks so we can do clean testing
@@ -38,6 +42,7 @@ class UserCache extends \Test_Cache {
                //}
 
                //set up temporary storage
+               $this->storage = \OC\Files\Filesystem::getStorage('/');
                \OC\Files\Filesystem::clearMounts();
                $storage = new \OC\Files\Storage\Temporary(array());
                \OC\Files\Filesystem::mount($storage,array(),'/');
@@ -64,5 +69,11 @@ class UserCache extends \Test_Cache {
        public function tearDown() {
                \OC_User::setUserId($this->user);
                \OC_Config::setValue('datadirectory', $this->datadir);
+
+               // Restore the original mount point
+               \OC\Files\Filesystem::clearMounts();
+               \OC\Files\Filesystem::mount($this->storage, array(), '/');
+
+               parent::tearDown();
        }
 }
index 96b4207ad4301f5b98f37412dde59c8c76d0d8b7..9e7330db20c0c2ef5384e4e79eae0cbd97a0ae0d 100644 (file)
@@ -33,7 +33,13 @@ class Updater extends \PHPUnit_Framework_TestCase {
         */
        protected $updater;
 
-       public function setUp() {
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
+       protected function setUp() {
+               parent::setUp();
+
+               $this->originalStorage = Filesystem::getStorage('/');
                $this->storage = new Temporary(array());
                Filesystem::clearMounts();
                Filesystem::mount($this->storage, array(), '/');
@@ -42,6 +48,13 @@ class Updater extends \PHPUnit_Framework_TestCase {
                $this->cache = $this->storage->getCache();
        }
 
+       protected function tearDown() {
+               Filesystem::clearMounts();
+               Filesystem::mount($this->originalStorage, array(), '/');
+
+               parent::tearDown();
+       }
+
        public function testNewFile() {
                $this->storage->file_put_contents('foo.txt', 'bar');
                $this->assertFalse($this->cache->inCache('foo.txt'));
index c80c3168ad6550a3a48e3f0ea5bdb7845ac61d50..d16a062fcca203e1208c7dc283b94908eca97df2 100644 (file)
@@ -29,6 +29,9 @@ class UpdaterLegacy extends \PHPUnit_Framework_TestCase {
         */
        private $cache;
 
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
        private static $user;
 
        public function setUp() {
@@ -51,7 +54,8 @@ class UpdaterLegacy extends \PHPUnit_Framework_TestCase {
                $this->scanner->scan('');
                $this->cache = $this->storage->getCache();
 
-               \OC\Files\Filesystem::tearDown();
+               $this->originalStorage = Filesystem::getStorage('/');
+               Filesystem::tearDown();
                if (!self::$user) {
                        self::$user = uniqid();
                }
@@ -59,7 +63,7 @@ class UpdaterLegacy extends \PHPUnit_Framework_TestCase {
                \OC_User::createUser(self::$user, 'password');
                \OC_User::setUserId(self::$user);
 
-               \OC\Files\Filesystem::init(self::$user, '/' . self::$user . '/files');
+               Filesystem::init(self::$user, '/' . self::$user . '/files');
 
                Filesystem::clearMounts();
                Filesystem::mount($this->storage, array(), '/' . self::$user . '/files');
@@ -74,6 +78,7 @@ class UpdaterLegacy extends \PHPUnit_Framework_TestCase {
                $result = \OC_User::deleteUser(self::$user);
                $this->assertTrue($result);
                Filesystem::tearDown();
+               Filesystem::mount($this->originalStorage, array(), '/');
                // reset app files_encryption
                if ($this->stateFilesEncryption) {
                        \OC_App::enable('files_encryption');
index 22c11b9a4e0103a0835e915fa5ab911b13f3e2a7..0b04b9e7058f87d849d479fc6ecaeaf1049b4c60 100644 (file)
@@ -15,16 +15,27 @@ class Watcher extends \PHPUnit_Framework_TestCase {
         */
        private $storages = array();
 
-       public function setUp() {
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
+       protected function setUp() {
+               parent::setUp();
+
+               $this->originalStorage = \OC\Files\Filesystem::getStorage('/');
                \OC\Files\Filesystem::clearMounts();
        }
 
-       public function tearDown() {
+       protected function tearDown() {
                foreach ($this->storages as $storage) {
                        $cache = $storage->getCache();
                        $ids = $cache->getAll();
                        $cache->clear();
                }
+
+               \OC\Files\Filesystem::clearMounts();
+               \OC\Files\Filesystem::mount($this->originalStorage, array(), '/');
+
+               parent::tearDown();
        }
 
        /**
index af9f66835f091ce3b6a296c658f6784d82911f27..4b47222dd62c9d6fbac1727b72abd64bd5383580 100644 (file)
@@ -11,7 +11,7 @@ namespace Test\Files;
 use OC\Files\Filesystem;
 use OCP\Share;
 
-class EtagTest extends \PHPUnit_Framework_TestCase {
+class EtagTest extends \Test\TestCase {
        private $datadir;
 
        private $tmpDir;
@@ -23,7 +23,12 @@ class EtagTest extends \PHPUnit_Framework_TestCase {
         */
        private $userBackend;
 
-       public function setUp() {
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
+       protected function setUp() {
+               parent::setUp();
+
                \OC_Hook::clear('OC_Filesystem', 'setup');
                \OCP\Util::connectHook('OC_Filesystem', 'setup', '\OC\Files\Storage\Shared', 'setup');
                \OCP\Share::registerBackend('file', 'OC_Share_Backend_File');
@@ -37,13 +42,17 @@ class EtagTest extends \PHPUnit_Framework_TestCase {
 
                $this->userBackend = new \OC_User_Dummy();
                \OC_User::useBackend($this->userBackend);
+               $this->originalStorage = \OC\Files\Filesystem::getStorage('/');
                \OC_Util::tearDownFS();
        }
 
-       public function tearDown() {
+       protected function tearDown() {
                \OC_Config::setValue('datadirectory', $this->datadir);
                \OC_User::setUserId($this->uid);
                \OC_Util::setupFS($this->uid);
+               \OC\Files\Filesystem::mount($this->originalStorage, array(), '/');
+
+               parent::tearDown();
        }
 
        public function testNewUser() {
index 930a252bcb24a1b6fe6880e42ed58d1534134e31..88e98fbb8c69dc570010f55215657e83567a03be 100644 (file)
 
 namespace Test\Files;
 
-class Filesystem extends \PHPUnit_Framework_TestCase {
+class Filesystem extends \Test\TestCase {
        /**
         * @var array tmpDirs
         */
        private $tmpDirs = array();
 
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
        /**
         * @return array
         */
@@ -37,19 +40,23 @@ class Filesystem extends \PHPUnit_Framework_TestCase {
                return array('datadir' => $dir);
        }
 
-       public function tearDown() {
+       protected function setUp() {
+               parent::setUp();
+
+               $this->originalStorage = \OC\Files\Filesystem::getStorage('/');
+               \OC_User::setUserId('');
+               \OC\Files\Filesystem::clearMounts();
+       }
+
+       protected function tearDown() {
                foreach ($this->tmpDirs as $dir) {
                        \OC_Helper::rmdirr($dir);
                }
                \OC\Files\Filesystem::clearMounts();
+               \OC\Files\Filesystem::mount($this->originalStorage, array(), '/');
                \OC_User::setUserId('');
        }
 
-       public function setUp() {
-               \OC_User::setUserId('');
-               \OC\Files\Filesystem::clearMounts();
-       }
-
        public function testMount() {
                \OC\Files\Filesystem::mount('\OC\Files\Storage\Local', self::getStorageData(), '/');
                $this->assertEquals('/', \OC\Files\Filesystem::getMountPoint('/'));
index 319f2f9f5f7e60b8720e0e15805ffdd99daa7de6..cde2eb22b7bad5d781684d2ed74463c2395f6a86 100644 (file)
@@ -20,6 +20,9 @@ class IntegrationTests extends \PHPUnit_Framework_TestCase {
         */
        private $root;
 
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
        /**
         * @var \OC\Files\Storage\Storage[]
         */
@@ -30,7 +33,10 @@ class IntegrationTests extends \PHPUnit_Framework_TestCase {
         */
        private $view;
 
-       public function setUp() {
+       protected function setUp() {
+               parent::setUp();
+
+               $this->originalStorage = \OC\Files\Filesystem::getStorage('/');
                \OC\Files\Filesystem::init('', '');
                \OC\Files\Filesystem::clearMounts();
                $manager = \OC\Files\Filesystem::getMountManager();
@@ -54,11 +60,15 @@ class IntegrationTests extends \PHPUnit_Framework_TestCase {
                $this->root->mount($subStorage, '/substorage/');
        }
 
-       public function tearDown() {
+       protected function tearDown() {
                foreach ($this->storages as $storage) {
                        $storage->getCache()->clear();
                }
                \OC\Files\Filesystem::clearMounts();
+
+               \OC\Files\Filesystem::mount($this->originalStorage, array(), '/');
+
+               parent::tearDown();
        }
 
        public function testBasicFile() {
index 5e5cc6ac12839b796255661c3eb2b742fd8f8489..51bd6230cd58357e90ee07fa7ff70caae9ce536c 100644 (file)
@@ -38,7 +38,23 @@ class TestScanner extends \OC\Files\Utils\Scanner {
        }
 }
 
-class Scanner extends \PHPUnit_Framework_TestCase {
+
+class Scanner extends \Test\TestCase {
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
+       protected function setUp() {
+               parent::setUp();
+
+               $this->originalStorage = \OC\Files\Filesystem::getStorage('/');
+       }
+
+       protected function tearDown() {
+               \OC\Files\Filesystem::mount($this->originalStorage, array(), '/');
+
+               parent::tearDown();
+       }
+
        public function testReuseExistingRoot() {
                $storage = new Temporary(array());
                $mount = new Mount($storage, '');
index c0bac55ca809e0d286c7e701ce8056a86819caeb..aa50318c85ba92ff62d1025459975f80422b192a 100644 (file)
@@ -22,9 +22,15 @@ class View extends \PHPUnit_Framework_TestCase {
        private $storages = array();
        private $user;
 
+       /** @var \OC\Files\Storage\Storage */
        private $tempStorage;
 
-       public function setUp() {
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
+       protected function setUp() {
+               parent::setUp();
+
                \OC_User::clearBackends();
                \OC_User::useBackend(new \OC_User_Dummy());
 
@@ -33,12 +39,13 @@ class View extends \PHPUnit_Framework_TestCase {
                $this->user = \OC_User::getUser();
                \OC_User::setUserId('test');
 
+               $this->originalStorage = \OC\Files\Filesystem::getStorage('/');
                \OC\Files\Filesystem::clearMounts();
 
                $this->tempStorage = null;
        }
 
-       public function tearDown() {
+       protected function tearDown() {
                \OC_User::setUserId($this->user);
                foreach ($this->storages as $storage) {
                        $cache = $storage->getCache();
@@ -49,6 +56,11 @@ class View extends \PHPUnit_Framework_TestCase {
                if ($this->tempStorage && !\OC_Util::runningOnWindows()) {
                        system('rm -rf ' . escapeshellarg($this->tempStorage->getDataDir()));
                }
+
+               \OC\Files\Filesystem::clearMounts();
+               \OC\Files\Filesystem::mount($this->originalStorage, array(), '/');
+
+               parent::tearDown();
        }
 
        /**
index 4fdd9dd6b9be8b78833284161890cba4a9cd939c..9f3bd8824f7beef9e16fe9360df5d4483e54ab99 100644 (file)
@@ -9,14 +9,22 @@
 /**
  * Test the storage functions of OC_Helper
  */
-class Test_Helper_Storage extends PHPUnit_Framework_TestCase {
+
+class Test_Helper_Storage extends \Test\TestCase {
+       /** @var string */
        private $user;
+       /** @var \OC\Files\Storage\Storage */
        private $storageMock;
+       /** @var \OC\Files\Storage\Storage */
+       private $storage;
+
+       protected function setUp() {
+               parent::setUp();
 
-       public function setUp() {
-               $this->user = 'user_' . uniqid();
+               $this->user = $this->getUniqueID('user_');
                \OC_User::createUser($this->user, $this->user);
 
+               $this->storage = \OC\Files\Filesystem::getStorage('/');
                \OC\Files\Filesystem::tearDown();
                \OC_User::setUserId($this->user);
                \OC\Files\Filesystem::init($this->user, '/' . $this->user . '/files');
@@ -25,7 +33,7 @@ class Test_Helper_Storage extends PHPUnit_Framework_TestCase {
                $this->storageMock = null;
        }
 
-       public function tearDown() {
+       protected function tearDown() {
                $this->user = null;
 
                if ($this->storageMock) {
@@ -33,10 +41,13 @@ class Test_Helper_Storage extends PHPUnit_Framework_TestCase {
                        $this->storageMock = null;
                }
                \OC\Files\Filesystem::tearDown();
+               \OC\Files\Filesystem::mount($this->storage, array(), '/');
 
                \OC_User::setUserId('');
                \OC_User::deleteUser($this->user);
                \OC_Preferences::deleteUser($this->user);
+
+               parent::tearDown();
        }
 
        /**
index c4442511e1ff71a5af88c669ed115c1fdde06917..3f87bbc1ac8b83e4c6c7035cae25aaa74b87a92a 100644 (file)
@@ -11,6 +11,28 @@ class Test_Migrate extends PHPUnit_Framework_TestCase {
        public $users;
        public $tmpfiles = array();
 
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
+       protected function setUp() {
+               parent::setUp();
+
+               $this->originalStorage = \OC\Files\Filesystem::getStorage('/');
+       }
+
+       protected function tearDown() {
+               $u = new OC_User();
+               foreach($this->users as $user) {
+                       $u->deleteUser($user);
+               }
+               foreach($this->tmpfiles as $file) {
+                       \OC_Helper::rmdirr($file);
+               }
+
+               \OC\Files\Filesystem::mount($this->originalStorage, array(), '/');
+               parent::tearDown();
+       }
+
        /**
         * Generates a test user and sets up their file system
         * @return string the test users id
@@ -73,18 +95,4 @@ class Test_Migrate extends PHPUnit_Framework_TestCase {
                // Validate the export
                $this->validateUserExport($user2, $user, json_decode($export)->data);
        }
-
-       public function tearDown() {
-               $u = new OC_User();
-               foreach($this->users as $user) {
-                       $u->deleteUser($user);
-               }
-               foreach($this->tmpfiles as $file) {
-                       \OC_Helper::rmdirr($file);
-               }
-       }
-
-
-
-
 }
index 2febe524cba92a5fdcc78839e6ab318949c67605..288dd2aa417505ce36f1634d83851cbb3ec5c22f 100644 (file)
@@ -8,7 +8,7 @@
 
 namespace Test;
 
-class Preview extends \PHPUnit_Framework_TestCase {
+class Preview extends \Test\TestCase {
 
        /**
         * @var string
@@ -20,14 +20,34 @@ class Preview extends \PHPUnit_Framework_TestCase {
         */
        private $rootView;
 
-       public function setUp() {
-               $this->user = $this->initFS();
+       /** @var \OC\Files\Storage\Storage */
+       private $originalStorage;
+
+       protected function setUp() {
+               parent::setUp();
+
+               $this->originalStorage = \OC\Files\Filesystem::getStorage('/');
+
+               // 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');
+
+               \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');
        }
 
+       protected function tearDown() {
+               \OC\Files\Filesystem::clearMounts();
+               \OC\Files\Filesystem::mount($this->originalStorage, array(), '/');
+
+               parent::tearDown();
+       }
+
        public function testIsPreviewDeleted() {
 
                $sampleFile = '/'.$this->user.'/files/test.txt';
@@ -184,16 +204,4 @@ class Preview extends \PHPUnit_Framework_TestCase {
                $this->assertEquals($this->user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileId . '/150-150.png', $isCached);
        }
        */
-
-       private function initFS() {
-               // create a new user with his own filesystem view
-               // this gets called by each test in this test class
-               $user=uniqid();
-               \OC_User::setUserId($user);
-               \OC\Files\Filesystem::init($user, '/'.$user.'/files');
-
-               \OC\Files\Filesystem::mount('OC\Files\Storage\Temporary', array(), '/');
-               
-               return $user;
-       }
 }
index 1b61446f4dce882e0a98e3749fdee1b08f2e544b..6f92f4870374be5b40223a14a3967dfc9ac8b36c 100644 (file)
@@ -65,7 +65,9 @@ class Test_StreamWrappers extends PHPUnit_Framework_TestCase {
        }
 
        public function testOC() {
+               $originalStorage = \OC\Files\Filesystem::getStorage('/');
                \OC\Files\Filesystem::clearMounts();
+
                $storage = new \OC\Files\Storage\Temporary(array());
                $storage->file_put_contents('foo.txt', 'asd');
                \OC\Files\Filesystem::mount($storage, array(), '/');
@@ -91,5 +93,8 @@ class Test_StreamWrappers extends PHPUnit_Framework_TestCase {
 
                unlink('oc:///foo.txt');
                $this->assertEquals(array('.', '..', 'bar.txt'), scandir('oc:///'));
+
+               \OC\Files\Filesystem::clearMounts();
+               \OC\Files\Filesystem::mount($originalStorage, array(), '/');
        }
 }