summaryrefslogtreecommitdiffstats
path: root/tests/lib/lock
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2016-05-20 15:38:20 +0200
committerThomas Müller <DeepDiver1975@users.noreply.github.com>2016-05-20 15:38:20 +0200
commit94ad54ec9b96d41a614fbbad4a97b34c41a6901f (patch)
treef3eb7cdda2704aaf0cd59d58efe66bcbd34cb67d /tests/lib/lock
parent2ef751b1ec28f7b5c7113af60ec8c9fa0ae1cf87 (diff)
downloadnextcloud-server-94ad54ec9b96d41a614fbbad4a97b34c41a6901f.tar.gz
nextcloud-server-94ad54ec9b96d41a614fbbad4a97b34c41a6901f.zip
Move tests/ to PSR-4 (#24731)
* Move a-b to PSR-4 * Move c-d to PSR-4 * Move e+g to PSR-4 * Move h-l to PSR-4 * Move m-r to PSR-4 * Move s-u to PSR-4 * Move files/ to PSR-4 * Move remaining tests to PSR-4 * Remove Test\ from old autoloader
Diffstat (limited to 'tests/lib/lock')
-rw-r--r--tests/lib/lock/dblockingprovider.php98
-rw-r--r--tests/lib/lock/lockingprovider.php246
-rw-r--r--tests/lib/lock/memcachelockingprovider.php45
3 files changed, 0 insertions, 389 deletions
diff --git a/tests/lib/lock/dblockingprovider.php b/tests/lib/lock/dblockingprovider.php
deleted file mode 100644
index 743dbf85613..00000000000
--- a/tests/lib/lock/dblockingprovider.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-/**
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program 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, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace Test\Lock;
-
-use OCP\Lock\ILockingProvider;
-
-/**
- * Class DBLockingProvider
- *
- * @group DB
- *
- * @package Test\Lock
- */
-class DBLockingProvider extends LockingProvider {
- /**
- * @var \OC\Lock\DBLockingProvider
- */
- protected $instance;
-
- /**
- * @var \OCP\IDBConnection
- */
- private $connection;
-
- /**
- * @var \OCP\AppFramework\Utility\ITimeFactory
- */
- private $timeFactory;
-
- private $currentTime;
-
- public function setUp() {
- $this->currentTime = time();
- $this->timeFactory = $this->getMock('\OCP\AppFramework\Utility\ITimeFactory');
- $this->timeFactory->expects($this->any())
- ->method('getTime')
- ->will($this->returnCallback(function () {
- return $this->currentTime;
- }));
- parent::setUp();
- }
-
- /**
- * @return \OCP\Lock\ILockingProvider
- */
- protected function getInstance() {
- $this->connection = \OC::$server->getDatabaseConnection();
- return new \OC\Lock\DBLockingProvider($this->connection, \OC::$server->getLogger(), $this->timeFactory, 3600);
- }
-
- public function tearDown() {
- $this->connection->executeQuery('DELETE FROM `*PREFIX*file_locks`');
- parent::tearDown();
- }
-
- public function testCleanEmptyLocks() {
- $this->currentTime = 100;
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->instance->acquireLock('asd', ILockingProvider::LOCK_EXCLUSIVE);
-
- $this->currentTime = 200;
- $this->instance->acquireLock('bar', ILockingProvider::LOCK_EXCLUSIVE);
- $this->instance->changeLock('asd', ILockingProvider::LOCK_SHARED);
-
- $this->currentTime = 150 + 3600;
-
- $this->assertEquals(3, $this->getLockEntryCount());
-
- $this->instance->cleanExpiredLocks();
-
- $this->assertEquals(2, $this->getLockEntryCount());
- }
-
- private function getLockEntryCount() {
- $query = $this->connection->prepare('SELECT count(*) FROM `*PREFIX*file_locks`');
- $query->execute();
- return $query->fetchColumn();
- }
-}
diff --git a/tests/lib/lock/lockingprovider.php b/tests/lib/lock/lockingprovider.php
deleted file mode 100644
index 49742baa561..00000000000
--- a/tests/lib/lock/lockingprovider.php
+++ /dev/null
@@ -1,246 +0,0 @@
-<?php
-/**
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program 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, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace Test\Lock;
-
-use OCP\Lock\ILockingProvider;
-use OCP\Lock\LockedException;
-use Test\TestCase;
-
-abstract class LockingProvider extends TestCase {
- /**
- * @var \OCP\Lock\ILockingProvider
- */
- protected $instance;
-
- /**
- * @return \OCP\Lock\ILockingProvider
- */
- abstract protected function getInstance();
-
- protected function setUp() {
- parent::setUp();
- $this->instance = $this->getInstance();
- }
-
- public function testExclusiveLock() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- }
-
- public function testSharedLock() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- }
-
- public function testDoubleSharedLock() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- }
-
- public function testReleaseSharedLock() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->instance->releaseLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->instance->releaseLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- }
-
- /**
- * @expectedException \OCP\Lock\LockedException
- */
- public function testDoubleExclusiveLock() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- }
-
- public function testReleaseExclusiveLock() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- $this->instance->releaseLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- }
-
- /**
- * @expectedException \OCP\Lock\LockedException
- */
- public function testExclusiveLockAfterShared() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- }
-
- public function testExclusiveLockAfterSharedReleased() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->instance->releaseLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- }
-
- public function testReleaseAll() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('bar', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('asd', ILockingProvider::LOCK_EXCLUSIVE);
- $this->instance->acquireLock('fizz#A=23', ILockingProvider::LOCK_EXCLUSIVE);
-
- $this->instance->releaseAll();
-
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->assertFalse($this->instance->isLocked('bar', ILockingProvider::LOCK_SHARED));
- $this->assertFalse($this->instance->isLocked('asd', ILockingProvider::LOCK_EXCLUSIVE));
- $this->assertFalse($this->instance->isLocked('fizz#A=23', ILockingProvider::LOCK_EXCLUSIVE));
- }
-
- public function testReleaseAllAfterChange() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('bar', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('asd', ILockingProvider::LOCK_EXCLUSIVE);
-
- $this->instance->changeLock('bar', ILockingProvider::LOCK_EXCLUSIVE);
-
- $this->instance->releaseAll();
-
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->assertFalse($this->instance->isLocked('bar', ILockingProvider::LOCK_SHARED));
- $this->assertFalse($this->instance->isLocked('bar', ILockingProvider::LOCK_EXCLUSIVE));
- $this->assertFalse($this->instance->isLocked('asd', ILockingProvider::LOCK_EXCLUSIVE));
- }
-
- public function testReleaseAllAfterUnlock() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('bar', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('asd', ILockingProvider::LOCK_EXCLUSIVE);
-
- $this->instance->releaseLock('bar', ILockingProvider::LOCK_SHARED);
-
- $this->instance->releaseAll();
-
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->assertFalse($this->instance->isLocked('asd', ILockingProvider::LOCK_EXCLUSIVE));
- }
-
- public function testReleaseAfterReleaseAll() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
-
- $this->instance->releaseAll();
-
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
-
- $this->instance->releaseLock('foo', ILockingProvider::LOCK_SHARED);
- }
-
-
- /**
- * @expectedException \OCP\Lock\LockedException
- */
- public function testSharedLockAfterExclusive() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- }
-
- public function testLockedExceptionHasPathForShared() {
- try {
- $this->testSharedLockAfterExclusive();
- $this->fail('Expected locked exception');
- } catch (LockedException $e) {
- $this->assertEquals('foo', $e->getPath());
- }
- }
-
- public function testLockedExceptionHasPathForExclusive() {
- try {
- $this->testExclusiveLockAfterShared();
- $this->fail('Expected locked exception');
- } catch (LockedException $e) {
- $this->assertEquals('foo', $e->getPath());
- }
- }
-
- public function testChangeLockToExclusive() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->changeLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- }
-
- public function testChangeLockToShared() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->instance->changeLock('foo', ILockingProvider::LOCK_SHARED);
- $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_EXCLUSIVE));
- $this->assertTrue($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED));
- }
-
- /**
- * @expectedException \OCP\Lock\LockedException
- */
- public function testChangeLockToExclusiveDoubleShared() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->changeLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- }
-
- /**
- * @expectedException \OCP\Lock\LockedException
- */
- public function testChangeLockToExclusiveNoShared() {
- $this->instance->changeLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- }
-
- /**
- * @expectedException \OCP\Lock\LockedException
- */
- public function testChangeLockToExclusiveFromExclusive() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- $this->instance->changeLock('foo', ILockingProvider::LOCK_EXCLUSIVE);
- }
-
- /**
- * @expectedException \OCP\Lock\LockedException
- */
- public function testChangeLockToSharedNoExclusive() {
- $this->instance->changeLock('foo', ILockingProvider::LOCK_SHARED);
- }
-
- /**
- * @expectedException \OCP\Lock\LockedException
- */
- public function testChangeLockToSharedFromShared() {
- $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED);
- $this->instance->changeLock('foo', ILockingProvider::LOCK_SHARED);
- }
-}
diff --git a/tests/lib/lock/memcachelockingprovider.php b/tests/lib/lock/memcachelockingprovider.php
deleted file mode 100644
index 40478b22939..00000000000
--- a/tests/lib/lock/memcachelockingprovider.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/**
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program 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, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace Test\Lock;
-
-use OC\Memcache\ArrayCache;
-
-class MemcacheLockingProvider extends LockingProvider {
-
- /**
- * @var \OCP\IMemcache
- */
- private $memcache;
-
- /**
- * @return \OCP\Lock\ILockingProvider
- */
- protected function getInstance() {
- $this->memcache = new ArrayCache();
- return new \OC\Lock\MemcacheLockingProvider($this->memcache);
- }
-
- public function tearDown() {
- $this->memcache->clear();
- parent::tearDown();
- }
-}