X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2Fsrc%2FCore%2FLock%2FLockTest.php;h=70d7819d7318a739e5f0ebf5b42da73c34d7f254;hb=b8f85f0484fbb1f37e9cae2f4cf98f9349fda099;hp=0c231713ae670c1032a1802a8e3f8f730374426f;hpb=6b7dfd0c712bc89de955a735fcbca60dc973d71d;p=friendica.git diff --git a/tests/src/Core/Lock/LockTest.php b/tests/src/Core/Lock/LockTest.php index 0c231713ae..70d7819d73 100644 --- a/tests/src/Core/Lock/LockTest.php +++ b/tests/src/Core/Lock/LockTest.php @@ -23,12 +23,12 @@ abstract class LockTest extends MockedTest parent::setUp(); $this->instance = $this->getInstance(); - $this->instance->releaseAll(); + $this->instance->releaseAll(true); } protected function tearDown() { - $this->instance->releaseAll(); + $this->instance->releaseAll(true); parent::tearDown(); } @@ -38,7 +38,7 @@ abstract class LockTest extends MockedTest public function testLock() { $this->assertFalse($this->instance->isLocked('foo')); - $this->assertTrue($this->instance->acquireLock('foo', 1)); + $this->assertTrue($this->instance->acquire('foo', 1)); $this->assertTrue($this->instance->isLocked('foo')); $this->assertFalse($this->instance->isLocked('bar')); } @@ -49,10 +49,10 @@ abstract class LockTest extends MockedTest public function testDoubleLock() { $this->assertFalse($this->instance->isLocked('foo')); - $this->assertTrue($this->instance->acquireLock('foo', 1)); + $this->assertTrue($this->instance->acquire('foo', 1)); $this->assertTrue($this->instance->isLocked('foo')); // We already locked it - $this->assertTrue($this->instance->acquireLock('foo', 1)); + $this->assertTrue($this->instance->acquire('foo', 1)); } /** @@ -61,9 +61,9 @@ abstract class LockTest extends MockedTest public function testReleaseLock() { $this->assertFalse($this->instance->isLocked('foo')); - $this->assertTrue($this->instance->acquireLock('foo', 1)); + $this->assertTrue($this->instance->acquire('foo', 1)); $this->assertTrue($this->instance->isLocked('foo')); - $this->instance->releaseLock('foo'); + $this->instance->release('foo'); $this->assertFalse($this->instance->isLocked('foo')); } @@ -72,9 +72,9 @@ abstract class LockTest extends MockedTest */ public function testReleaseAll() { - $this->assertTrue($this->instance->acquireLock('foo', 1)); - $this->assertTrue($this->instance->acquireLock('bar', 1)); - $this->assertTrue($this->instance->acquireLock('nice', 1)); + $this->assertTrue($this->instance->acquire('foo', 1)); + $this->assertTrue($this->instance->acquire('bar', 1)); + $this->assertTrue($this->instance->acquire('nice', 1)); $this->assertTrue($this->instance->isLocked('foo')); $this->assertTrue($this->instance->isLocked('bar')); @@ -95,11 +95,11 @@ abstract class LockTest extends MockedTest $this->assertFalse($this->instance->isLocked('foo')); $this->assertFalse($this->instance->isLocked('bar')); $this->assertFalse($this->instance->isLocked('nice')); - $this->assertTrue($this->instance->acquireLock('foo', 1)); - $this->assertTrue($this->instance->acquireLock('bar', 1)); - $this->assertTrue($this->instance->acquireLock('nice', 1)); + $this->assertTrue($this->instance->acquire('foo', 1)); + $this->assertTrue($this->instance->acquire('bar', 1)); + $this->assertTrue($this->instance->acquire('nice', 1)); - $this->assertTrue($this->instance->releaseLock('foo')); + $this->assertTrue($this->instance->release('foo')); $this->assertFalse($this->instance->isLocked('foo')); $this->assertTrue($this->instance->isLocked('bar')); @@ -117,12 +117,52 @@ abstract class LockTest extends MockedTest public function testReleaseWitTTL() { $this->assertFalse($this->instance->isLocked('test')); - $this->assertTrue($this->instance->acquireLock('test', 1, 10)); + $this->assertTrue($this->instance->acquire('test', 1, 10)); $this->assertTrue($this->instance->isLocked('test')); - $this->assertTrue($this->instance->releaseLock('test')); + $this->assertTrue($this->instance->release('test')); $this->assertFalse($this->instance->isLocked('test')); } + /** + * @small + */ + public function testGetLocks() + { + $this->assertTrue($this->instance->acquire('foo', 1)); + $this->assertTrue($this->instance->acquire('bar', 1)); + $this->assertTrue($this->instance->acquire('nice', 1)); + + $this->assertTrue($this->instance->isLocked('foo')); + $this->assertTrue($this->instance->isLocked('bar')); + $this->assertTrue($this->instance->isLocked('nice')); + + $locks = $this->instance->getLocks(); + + $this->assertContains('foo', $locks); + $this->assertContains('bar', $locks); + $this->assertContains('nice', $locks); + } + + /** + * @small + */ + public function testGetLocksWithPrefix() + { + $this->assertTrue($this->instance->acquire('foo', 1)); + $this->assertTrue($this->instance->acquire('test1', 1)); + $this->assertTrue($this->instance->acquire('test2', 1)); + + $this->assertTrue($this->instance->isLocked('foo')); + $this->assertTrue($this->instance->isLocked('test1')); + $this->assertTrue($this->instance->isLocked('test2')); + + $locks = $this->instance->getLocks('test'); + + $this->assertContains('test1', $locks); + $this->assertContains('test2', $locks); + $this->assertNotContains('foo', $locks); + } + /** * @medium */ @@ -134,8 +174,8 @@ abstract class LockTest extends MockedTest $this->assertFalse($this->instance->isLocked('bar')); // TODO [nupplaphil] - Because of the Datetime-Utils for the database, we have to wait a FULL second between the checks to invalidate the db-locks/cache - $this->assertTrue($this->instance->acquireLock('foo', 2, 1)); - $this->assertTrue($this->instance->acquireLock('bar', 2, 3)); + $this->assertTrue($this->instance->acquire('foo', 2, 1)); + $this->assertTrue($this->instance->acquire('bar', 2, 3)); $this->assertTrue($this->instance->isLocked('foo')); $this->assertTrue($this->instance->isLocked('bar')); @@ -150,4 +190,13 @@ abstract class LockTest extends MockedTest $this->assertFalse($this->instance->isLocked('foo')); $this->assertFalse($this->instance->isLocked('bar')); } + + /** + * Test if releasing a non-existing lock doesn't throw errors + */ + public function testReleaseLockWithoutLock() + { + $this->assertFalse($this->instance->isLocked('wrongLock')); + $this->assertFalse($this->instance->release('wrongLock')); + } }