From 4e1799759c6b326fb5f0c867ade761ae2b92d22e Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 12 Nov 2014 15:54:41 +0100 Subject: [PATCH] Correctly restore previous root mount point after testing Conflicts: tests/lib/cache/file.php tests/lib/cache/usercache.php --- apps/files/tests/ajax_rename.php | 14 +++++++-- tests/lib/cache/file.php | 11 +++++++ tests/lib/cache/usercache.php | 11 +++++++ tests/lib/files/cache/updater.php | 15 +++++++++- tests/lib/files/cache/updaterlegacy.php | 9 ++++-- tests/lib/files/cache/watcher.php | 15 ++++++++-- tests/lib/files/etagtest.php | 15 ++++++++-- tests/lib/files/filesystem.php | 21 +++++++++----- tests/lib/files/node/integration.php | 14 +++++++-- tests/lib/files/utils/scanner.php | 18 +++++++++++- tests/lib/files/view.php | 16 +++++++++-- tests/lib/helperstorage.php | 19 ++++++++++--- tests/lib/migrate.php | 36 ++++++++++++++--------- tests/lib/preview.php | 38 +++++++++++++++---------- tests/lib/streamwrappers.php | 5 ++++ 15 files changed, 202 insertions(+), 55 deletions(-) diff --git a/apps/files/tests/ajax_rename.php b/apps/files/tests/ajax_rename.php index 5ed8b1931f4..3bccaca1231 100644 --- a/apps/files/tests/ajax_rename.php +++ b/apps/files/tests/ajax_rename.php @@ -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(); } /** diff --git a/tests/lib/cache/file.php b/tests/lib/cache/file.php index 3767c83fcb1..77331a6c9f0 100644 --- a/tests/lib/cache/file.php +++ b/tests/lib/cache/file.php @@ -23,8 +23,12 @@ 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(); } } diff --git a/tests/lib/cache/usercache.php b/tests/lib/cache/usercache.php index 21b7f848ab6..89beaabe76a 100644 --- a/tests/lib/cache/usercache.php +++ b/tests/lib/cache/usercache.php @@ -23,8 +23,12 @@ 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(); } } diff --git a/tests/lib/files/cache/updater.php b/tests/lib/files/cache/updater.php index 96b4207ad43..9e7330db20c 100644 --- a/tests/lib/files/cache/updater.php +++ b/tests/lib/files/cache/updater.php @@ -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')); diff --git a/tests/lib/files/cache/updaterlegacy.php b/tests/lib/files/cache/updaterlegacy.php index c80c3168ad6..d16a062fcca 100644 --- a/tests/lib/files/cache/updaterlegacy.php +++ b/tests/lib/files/cache/updaterlegacy.php @@ -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'); diff --git a/tests/lib/files/cache/watcher.php b/tests/lib/files/cache/watcher.php index 22c11b9a4e0..0b04b9e7058 100644 --- a/tests/lib/files/cache/watcher.php +++ b/tests/lib/files/cache/watcher.php @@ -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(); } /** diff --git a/tests/lib/files/etagtest.php b/tests/lib/files/etagtest.php index af9f66835f0..4b47222dd62 100644 --- a/tests/lib/files/etagtest.php +++ b/tests/lib/files/etagtest.php @@ -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() { diff --git a/tests/lib/files/filesystem.php b/tests/lib/files/filesystem.php index 930a252bcb2..88e98fbb8c6 100644 --- a/tests/lib/files/filesystem.php +++ b/tests/lib/files/filesystem.php @@ -22,12 +22,15 @@ 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('/')); diff --git a/tests/lib/files/node/integration.php b/tests/lib/files/node/integration.php index 319f2f9f5f7..cde2eb22b7b 100644 --- a/tests/lib/files/node/integration.php +++ b/tests/lib/files/node/integration.php @@ -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() { diff --git a/tests/lib/files/utils/scanner.php b/tests/lib/files/utils/scanner.php index 5e5cc6ac128..51bd6230cd5 100644 --- a/tests/lib/files/utils/scanner.php +++ b/tests/lib/files/utils/scanner.php @@ -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, ''); diff --git a/tests/lib/files/view.php b/tests/lib/files/view.php index c0bac55ca80..aa50318c85b 100644 --- a/tests/lib/files/view.php +++ b/tests/lib/files/view.php @@ -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(); } /** diff --git a/tests/lib/helperstorage.php b/tests/lib/helperstorage.php index 4fdd9dd6b9b..9f3bd8824f7 100644 --- a/tests/lib/helperstorage.php +++ b/tests/lib/helperstorage.php @@ -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(); } /** diff --git a/tests/lib/migrate.php b/tests/lib/migrate.php index c4442511e1f..3f87bbc1ac8 100644 --- a/tests/lib/migrate.php +++ b/tests/lib/migrate.php @@ -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); - } - } - - - - } diff --git a/tests/lib/preview.php b/tests/lib/preview.php index 2febe524cba..288dd2aa417 100644 --- a/tests/lib/preview.php +++ b/tests/lib/preview.php @@ -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; - } } diff --git a/tests/lib/streamwrappers.php b/tests/lib/streamwrappers.php index 1b61446f4dc..6f92f487037 100644 --- a/tests/lib/streamwrappers.php +++ b/tests/lib/streamwrappers.php @@ -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(), '/'); } } -- 2.39.5