diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2016-05-20 15:38:20 +0200 |
---|---|---|
committer | Thomas Müller <DeepDiver1975@users.noreply.github.com> | 2016-05-20 15:38:20 +0200 |
commit | 94ad54ec9b96d41a614fbbad4a97b34c41a6901f (patch) | |
tree | f3eb7cdda2704aaf0cd59d58efe66bcbd34cb67d /tests/lib/lock | |
parent | 2ef751b1ec28f7b5c7113af60ec8c9fa0ae1cf87 (diff) | |
download | nextcloud-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.php | 98 | ||||
-rw-r--r-- | tests/lib/lock/lockingprovider.php | 246 | ||||
-rw-r--r-- | tests/lib/lock/memcachelockingprovider.php | 45 |
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(); - } -} |