diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-06-02 09:11:33 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-06-02 09:11:33 +0200 |
commit | cf2c599218f01c1351cee2e4e48ee4b430f55287 (patch) | |
tree | 67daea46a2252a53c0da05d9de59c75c8e90996e /tests | |
parent | baca5c60c010cb26d3845ad3863fe59e16a0a042 (diff) | |
parent | e5a91fc185c4c992469e19d37c4ad3691ed1d3ae (diff) | |
download | nextcloud-server-cf2c599218f01c1351cee2e4e48ee4b430f55287.tar.gz nextcloud-server-cf2c599218f01c1351cee2e4e48ee4b430f55287.zip |
Merge pull request #16200 from owncloud/kill-globalfilecache
Drop file caching
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/cache/file.php | 78 | ||||
-rw-r--r-- | tests/lib/cache/fileglobalgc.php | 107 | ||||
-rw-r--r-- | tests/lib/cache/usercache.php | 74 | ||||
-rw-r--r-- | tests/lib/repair/dropoldjobs.php | 40 |
4 files changed, 40 insertions, 259 deletions
diff --git a/tests/lib/cache/file.php b/tests/lib/cache/file.php deleted file mode 100644 index 153cb198f13..00000000000 --- a/tests/lib/cache/file.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php -/** -* ownCloud -* -* @author Robin Appelman -* @copyright 2012 Robin Appelman icewind@owncloud.com -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library 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 along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ - -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()); - } - - protected function setUp() { - parent::setUp(); - - //clear all proxies and hooks so we can do clean testing - \OC_Hook::clear('OC_Filesystem'); - - //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(),'/'); - $datadir = str_replace('local::', '', $storage->getId()); - $this->datadir = \OC_Config::getValue('cachedirectory', \OC::$SERVERROOT.'/data/cache'); - \OC_Config::setValue('cachedirectory', $datadir); - - \OC_User::clearBackends(); - \OC_User::useBackend(new \OC_User_Dummy()); - - //login - \OC_User::createUser('test', 'test'); - - $this->user = \OC_User::getUser(); - \OC_User::setUserId('test'); - - //set up the users dir - $rootView = new \OC\Files\View(''); - $rootView->mkdir('/test'); - - $this->instance=new \OC\Cache\File(); - } - - protected function tearDown() { - \OC_User::setUserId($this->user); - \OC_Config::setValue('cachedirectory', $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/fileglobalgc.php b/tests/lib/cache/fileglobalgc.php deleted file mode 100644 index 4f032538e7d..00000000000 --- a/tests/lib/cache/fileglobalgc.php +++ /dev/null @@ -1,107 +0,0 @@ -<?php -/** - * ownCloud - * - * @author Robin Appelman - * @copyright 2012 Robin Appelman icewind@owncloud.com - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library 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 along with this library. If not, see <http://www.gnu.org/licenses/>. - * - */ - -namespace Test\Cache; - -use Test\TestCase; - -class FileGlobalGC extends TestCase { - /** - * @var string - */ - private $cacheDir; - - /** - * @var \OC\Cache\FileGlobalGC - */ - private $gc; - - public function setUp() { - $this->cacheDir = \OC::$server->getTempManager()->getTemporaryFolder(); - $this->gc = new \OC\Cache\FileGlobalGC(); - } - - private function addCacheFile($name, $expire) { - file_put_contents($this->cacheDir . $name, 'foo'); - touch($this->cacheDir . $name, $expire); - } - - public function testGetExpiredEmpty() { - $this->assertEquals([], $this->gc->getExpiredPaths($this->cacheDir, time())); - } - - public function testGetExpiredNone() { - $time = time(); - $this->addCacheFile('foo', $time + 10); - $this->assertEquals([], $this->gc->getExpiredPaths($this->cacheDir, $time)); - } - - public function testGetExpired() { - $time = time(); - $this->addCacheFile('foo', $time + 10); - $this->addCacheFile('bar', $time); - $this->addCacheFile('bar2', $time - 10); - $this->addCacheFile('asd', $time - 100); - $this->assertEquals([$this->cacheDir . 'asd', $this->cacheDir . 'bar2'], $this->gc->getExpiredPaths($this->cacheDir, $time)); - } - - public function testGetExpiredDirectory() { - $time = time(); - $this->addCacheFile('foo', $time - 10); - mkdir($this->cacheDir . 'asd'); - $this->assertEquals([$this->cacheDir . 'foo'], $this->gc->getExpiredPaths($this->cacheDir, $time)); - } - - public function testGcUnlink() { - $time = time(); - $this->addCacheFile('foo', $time - 10); - $this->addCacheFile('bar', $time - 10); - $this->addCacheFile('asd', $time + 10); - - $config = $this->getMock('\OCP\IConfig'); - $config->expects($this->once()) - ->method('getAppValue') - ->with('core', 'global_cache_gc_lastrun', 0) - ->willReturn($time - \OC\Cache\FileGlobalGC::CLEANUP_TTL_SEC - 1); - $config->expects($this->once()) - ->method('setAppValue'); - - $this->gc->gc($config, $this->cacheDir); - $this->assertFileNotExists($this->cacheDir . 'foo'); - $this->assertFileNotExists($this->cacheDir . 'bar'); - $this->assertFileExists($this->cacheDir . 'asd'); - } - - public function testGcLastRun() { - $time = time(); - - $config = $this->getMock('\OCP\IConfig'); - $config->expects($this->once()) - ->method('getAppValue') - ->with('core', 'global_cache_gc_lastrun', 0) - ->willReturn($time); - $config->expects($this->never()) - ->method('setAppValue'); - - $this->gc->gc($config, $this->cacheDir); - } -} diff --git a/tests/lib/cache/usercache.php b/tests/lib/cache/usercache.php deleted file mode 100644 index 26a9158ab3a..00000000000 --- a/tests/lib/cache/usercache.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php -/** -* ownCloud -* -* @author Robin Appelman -* @copyright 2012 Robin Appelman icewind@owncloud.com -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library 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 along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ - -namespace Test\Cache; - -class UserCache extends \Test_Cache { - /** @var string */ - private $user; - /** @var string */ - private $datadir; - /** @var \OC\Files\Storage\Storage */ - private $storage; - - protected function setUp() { - parent::setUp(); - - //clear all proxies and hooks so we can do clean testing - \OC_Hook::clear('OC_Filesystem'); - - //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(),'/'); - $datadir = str_replace('local::', '', $storage->getId()); - $this->datadir = \OC_Config::getValue('cachedirectory', \OC::$SERVERROOT.'/data/cache'); - \OC_Config::setValue('cachedirectory', $datadir); - - \OC_User::clearBackends(); - \OC_User::useBackend(new \OC_User_Dummy()); - - //login - \OC_User::createUser('test', 'test'); - - $this->user = \OC_User::getUser(); - \OC_User::setUserId('test'); - - //set up the users dir - $rootView=new \OC\Files\View(''); - $rootView->mkdir('/test'); - - $this->instance=new \OC\Cache\UserCache(); - } - - protected function tearDown() { - \OC_User::setUserId($this->user); - \OC_Config::setValue('cachedirectory', $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/repair/dropoldjobs.php b/tests/lib/repair/dropoldjobs.php new file mode 100644 index 00000000000..27d7860c63d --- /dev/null +++ b/tests/lib/repair/dropoldjobs.php @@ -0,0 +1,40 @@ +<?php +/** + * Copyright (c) 2015 Arthur Schiwon <blizzz@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test\Repair; + +use OCP\BackgroundJob\IJobList; + +/** + * Tests for the dropping old tables + * + * @see \OC\Repair\DropOldTables + */ +class DropOldJobs extends \Test\TestCase { + /** @var IJobList */ + protected $jobList; + + protected function setUp() { + parent::setUp(); + + $this->jobList = \OC::$server->getJobList(); + $this->jobList->add('OC\Cache\FileGlobalGC'); + $this->jobList->add('OC_Cache_FileGlobalGC'); + } + + public function testRun() { + $this->assertTrue($this->jobList->has('OC\Cache\FileGlobalGC', null), 'Asserting that the job OC\Cache\FileGlobalGC exists before repairing'); + $this->assertTrue($this->jobList->has('OC_Cache_FileGlobalGC', null), 'Asserting that the job OC_Cache_FileGlobalGC exists before repairing'); + + $repair = new \OC\Repair\DropOldJobs($this->jobList); + $repair->run(); + + $this->assertFalse($this->jobList->has('OC\Cache\FileGlobalGC', null), 'Asserting that the job OC\Cache\FileGlobalGC does not exist after repairing'); + $this->assertFalse($this->jobList->has('OC_Cache_FileGlobalGC', null), 'Asserting that the job OC_Cache_FileGlobalGC does not exist after repairing'); + } +} |