summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2015-06-02 09:11:33 +0200
committerMorris Jobke <hey@morrisjobke.de>2015-06-02 09:11:33 +0200
commitcf2c599218f01c1351cee2e4e48ee4b430f55287 (patch)
tree67daea46a2252a53c0da05d9de59c75c8e90996e /tests
parentbaca5c60c010cb26d3845ad3863fe59e16a0a042 (diff)
parente5a91fc185c4c992469e19d37c4ad3691ed1d3ae (diff)
downloadnextcloud-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.php78
-rw-r--r--tests/lib/cache/fileglobalgc.php107
-rw-r--r--tests/lib/cache/usercache.php74
-rw-r--r--tests/lib/repair/dropoldjobs.php40
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');
+ }
+}