diff options
Diffstat (limited to 'tests/lib/cache')
-rw-r--r-- | tests/lib/cache/cappedmemorycache.php | 79 | ||||
-rw-r--r-- | tests/lib/cache/file.php | 172 |
2 files changed, 0 insertions, 251 deletions
diff --git a/tests/lib/cache/cappedmemorycache.php b/tests/lib/cache/cappedmemorycache.php deleted file mode 100644 index a8fb273b80a..00000000000 --- a/tests/lib/cache/cappedmemorycache.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php -/** - * ownCloud - * - * @author Robin Appelman - * @copyright 2016 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 - * - * @group DB - * - * @package Test\Cache - */ -class CappedMemoryCache extends \Test_Cache { - public function setUp() { - parent::setUp(); - $this->instance = new \OC\Cache\CappedMemoryCache(); - } - - public function testSetOverCap() { - $instance = new \OC\Cache\CappedMemoryCache(3); - - $instance->set('1', 'a'); - $instance->set('2', 'b'); - $instance->set('3', 'c'); - $instance->set('4', 'd'); - $instance->set('5', 'e'); - - $this->assertFalse($instance->hasKey('1')); - $this->assertFalse($instance->hasKey('2')); - $this->assertTrue($instance->hasKey('3')); - $this->assertTrue($instance->hasKey('4')); - $this->assertTrue($instance->hasKey('5')); - } - - function testClear() { - $value = 'ipsum lorum'; - $this->instance->set('1_value1', $value); - $this->instance->set('1_value2', $value); - $this->instance->set('2_value1', $value); - $this->instance->set('3_value1', $value); - - $this->assertTrue($this->instance->clear()); - $this->assertFalse($this->instance->hasKey('1_value1')); - $this->assertFalse($this->instance->hasKey('1_value2')); - $this->assertFalse($this->instance->hasKey('2_value1')); - $this->assertFalse($this->instance->hasKey('3_value1')); - } - - function testIndirectSet() { - $this->instance->set('array', []); - - $this->instance['array'][] = 'foo'; - - $this->assertEquals(['foo'], $this->instance->get('array')); - - $this->instance['array']['bar'] = 'qwerty'; - - $this->assertEquals(['foo', 'bar' => 'qwerty'], $this->instance->get('array')); - } -} diff --git a/tests/lib/cache/file.php b/tests/lib/cache/file.php deleted file mode 100644 index 92b784bf8ea..00000000000 --- a/tests/lib/cache/file.php +++ /dev/null @@ -1,172 +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 - * - * @group DB - * - * @package Test\Cache - */ -class FileCache extends \Test_Cache { - /** - * @var string - * */ - private $user; - /** - * @var string - * */ - private $datadir; - /** - * @var \OC\Files\Storage\Storage - * */ - private $storage; - /** - * @var \OC\Files\View - * */ - private $rootView; - - 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()); - $config = \OC::$server->getConfig(); - $this->datadir = $config->getSystemValue('cachedirectory', \OC::$SERVERROOT.'/data/cache'); - $config->setSystemValue('cachedirectory', $datadir); - - \OC_User::clearBackends(); - \OC_User::useBackend(new \Test\Util\User\Dummy()); - - //login - \OC::$server->getUserManager()->createUser('test', 'test'); - - $this->user = \OC_User::getUser(); - \OC_User::setUserId('test'); - - //set up the users dir - $this->rootView = new \OC\Files\View(''); - $this->rootView->mkdir('/test'); - - $this->instance=new \OC\Cache\File(); - - // forces creation of cache folder for subsequent tests - $this->instance->set('hack', 'hack'); - } - - protected function tearDown() { - if ($this->instance) { - $this->instance->remove('hack', 'hack'); - } - - \OC_User::setUserId($this->user); - \OC::$server->getConfig()->setSystemValue('cachedirectory', $this->datadir); - - // Restore the original mount point - \OC\Files\Filesystem::clearMounts(); - \OC\Files\Filesystem::mount($this->storage, array(), '/'); - - parent::tearDown(); - } - - private function setupMockStorage() { - $mockStorage = $this->getMock( - '\OC\Files\Storage\Local', - ['filemtime', 'unlink'], - [['datadir' => \OC::$server->getTempManager()->getTemporaryFolder()]] - ); - - \OC\Files\Filesystem::mount($mockStorage, array(), '/test/cache'); - - return $mockStorage; - } - - public function testGarbageCollectOldKeys() { - $mockStorage = $this->setupMockStorage(); - - $mockStorage->expects($this->atLeastOnce()) - ->method('filemtime') - ->will($this->returnValue(100)); - $mockStorage->expects($this->once()) - ->method('unlink') - ->with('key1') - ->will($this->returnValue(true)); - - $this->instance->set('key1', 'value1'); - $this->instance->gc(); - } - - public function testGarbageCollectLeaveRecentKeys() { - $mockStorage = $this->setupMockStorage(); - - $mockStorage->expects($this->atLeastOnce()) - ->method('filemtime') - ->will($this->returnValue(time() + 3600)); - $mockStorage->expects($this->never()) - ->method('unlink') - ->with('key1'); - $this->instance->set('key1', 'value1'); - $this->instance->gc(); - } - - public function lockExceptionProvider() { - return [ - [new \OCP\Lock\LockedException('key1')], - [new \OCP\Files\LockNotAcquiredException('key1', 1)], - ]; - } - - /** - * @dataProvider lockExceptionProvider - */ - public function testGarbageCollectIgnoreLockedKeys($testException) { - $mockStorage = $this->setupMockStorage(); - - $mockStorage->expects($this->atLeastOnce()) - ->method('filemtime') - ->will($this->returnValue(100)); - $mockStorage->expects($this->atLeastOnce()) - ->method('unlink') - ->will($this->onConsecutiveCalls( - $this->throwException($testException), - $this->returnValue(true) - )); - - $this->instance->set('key1', 'value1'); - $this->instance->set('key2', 'value2'); - - $this->instance->gc(); - } -} |