From 2d0446bd38b8954247def42e70da735667cc2ed2 Mon Sep 17 00:00:00 2001 From: Philipp Date: Wed, 18 Jul 2018 21:04:18 +0200 Subject: [PATCH] simplifying unittests (#5395) * simplifying unittests - use @requires instead class_exist - define @small and @medium * simplifying unittests - removed unnecessary throwings --- tests/src/Core/Cache/CacheTest.php | 12 ++++++++++ .../Core/Cache/MemcacheCacheDriverTest.php | 21 ++++++------------ .../Core/Cache/MemcachedCacheDriverTest.php | 20 +++++------------ tests/src/Core/Cache/MemoryCacheTest.php | 15 +++++++++++++ tests/src/Core/Cache/RedisCacheDriverTest.php | 20 +++++------------ tests/src/Core/Lock/LockTest.php | 18 +++++++++++++++ .../Core/Lock/MemcacheCacheLockDriverTest.php | 21 +++++------------- .../Lock/MemcachedCacheLockDriverTest.php | 21 +++++------------- .../Core/Lock/RedisCacheLockDriverTest.php | 22 ++++++------------- 9 files changed, 83 insertions(+), 87 deletions(-) diff --git a/tests/src/Core/Cache/CacheTest.php b/tests/src/Core/Cache/CacheTest.php index 39dc56f301..105142f0b7 100644 --- a/tests/src/Core/Cache/CacheTest.php +++ b/tests/src/Core/Cache/CacheTest.php @@ -31,6 +31,9 @@ abstract class CacheTest extends DatabaseTest Config::set('system', 'theme', 'system_theme'); } + /** + * @small + */ function testSimple() { $this->assertNull($this->instance->get('value1')); @@ -56,6 +59,9 @@ abstract class CacheTest extends DatabaseTest $this->assertNull($this->instance->get('value1')); } + /** + * @small + */ function testClear() { $value = 'ipsum lorum'; $this->instance->set('1_value1', $value . '1'); @@ -90,6 +96,9 @@ abstract class CacheTest extends DatabaseTest ]); } + /** + * @medium + */ function testTTL() { $this->assertNull($this->instance->get('value1')); @@ -103,6 +112,9 @@ abstract class CacheTest extends DatabaseTest $this->assertNull($this->instance->get('value1')); } + /** + * @small + */ function testDifferentTypesInCache() { // String test $value = "foobar"; diff --git a/tests/src/Core/Cache/MemcacheCacheDriverTest.php b/tests/src/Core/Cache/MemcacheCacheDriverTest.php index 5ed0a3a2e5..62f7440033 100644 --- a/tests/src/Core/Cache/MemcacheCacheDriverTest.php +++ b/tests/src/Core/Cache/MemcacheCacheDriverTest.php @@ -6,6 +6,9 @@ namespace Friendica\Test\src\Core\Cache; use Friendica\Core\Cache\CacheDriverFactory; +/** + * @requires extension memcache + */ class MemcacheCacheDriverTest extends MemoryCacheTest { /** @@ -15,24 +18,14 @@ class MemcacheCacheDriverTest extends MemoryCacheTest protected function getInstance() { - if (class_exists('Memcache')) { - try { - $this->cache = CacheDriverFactory::create('memcache'); - } catch (\Exception $exception) { - throw new \Exception("Memcache - TestCase failed: " . $exception->getMessage(), $exception->getCode(), $exception); - } - return $this->cache; - } else { - $this->markTestSkipped('Memcache driver isn\'t available'); - return null; - } + $this->cache = CacheDriverFactory::create('memcache'); + return $this->cache; + } public function tearDown() { - if (class_exists('Memcache')) { - $this->cache->clear(false); - } + $this->cache->clear(false); parent::tearDown(); } } diff --git a/tests/src/Core/Cache/MemcachedCacheDriverTest.php b/tests/src/Core/Cache/MemcachedCacheDriverTest.php index 4872546b54..5a07814a38 100644 --- a/tests/src/Core/Cache/MemcachedCacheDriverTest.php +++ b/tests/src/Core/Cache/MemcachedCacheDriverTest.php @@ -6,6 +6,9 @@ namespace Friendica\Test\src\Core\Cache; use Friendica\Core\Cache\CacheDriverFactory; +/** + * @requires extension memcached + */ class MemcachedCacheDriverTest extends MemoryCacheTest { /** @@ -15,24 +18,13 @@ class MemcachedCacheDriverTest extends MemoryCacheTest protected function getInstance() { - if (class_exists('Memcached')) { - try { - $this->cache = CacheDriverFactory::create('memcached'); - } catch (\Exception $exception) { - throw new \Exception("Memcached - TestCase failed: " . $exception->getMessage(), $exception->getCode(), $exception); - } - return $this->cache; - } else { - $this->markTestSkipped('Memcached driver isn\'t available'); - return null; - } + $this->cache = CacheDriverFactory::create('memcached'); + return $this->cache; } public function tearDown() { - if (class_exists('Memcached')) { - $this->cache->clear(false); - } + $this->cache->clear(false); parent::tearDown(); } } diff --git a/tests/src/Core/Cache/MemoryCacheTest.php b/tests/src/Core/Cache/MemoryCacheTest.php index 670df2fe18..0f3f6192b2 100644 --- a/tests/src/Core/Cache/MemoryCacheTest.php +++ b/tests/src/Core/Cache/MemoryCacheTest.php @@ -19,6 +19,9 @@ abstract class MemoryCacheTest extends CacheTest } } + /** + * @small + */ function testCompareSet() { $this->assertNull($this->instance->get('value1')); @@ -33,6 +36,9 @@ abstract class MemoryCacheTest extends CacheTest $this->assertEquals($newValue, $received, 'Value not overwritten by compareSet'); } + /** + * @small + */ function testNegativeCompareSet() { $this->assertNull($this->instance->get('value1')); @@ -48,6 +54,9 @@ abstract class MemoryCacheTest extends CacheTest $this->assertEquals($value, $received, 'Value was wrongly overwritten by any other value'); } + /** + * @small + */ function testCompareDelete() { $this->assertNull($this->instance->get('value1')); @@ -59,6 +68,9 @@ abstract class MemoryCacheTest extends CacheTest $this->assertNull($this->instance->get('value1'), 'Value was not deleted by compareDelete'); } + /** + * @small + */ function testNegativeCompareDelete() { $this->assertNull($this->instance->get('value1')); @@ -73,6 +85,9 @@ abstract class MemoryCacheTest extends CacheTest $this->assertNull($this->instance->get('value1'), 'Value was wrongly NOT deleted by compareDelete'); } + /** + * @small + */ function testAdd() { $this->assertNull($this->instance->get('value1')); diff --git a/tests/src/Core/Cache/RedisCacheDriverTest.php b/tests/src/Core/Cache/RedisCacheDriverTest.php index 158534602a..460c1184ba 100644 --- a/tests/src/Core/Cache/RedisCacheDriverTest.php +++ b/tests/src/Core/Cache/RedisCacheDriverTest.php @@ -6,6 +6,9 @@ namespace Friendica\Test\src\Core\Cache; use Friendica\Core\Cache\CacheDriverFactory; +/** + * @requires extension redis + */ class RedisCacheDriverTest extends MemoryCacheTest { /** @@ -15,24 +18,13 @@ class RedisCacheDriverTest extends MemoryCacheTest protected function getInstance() { - if (class_exists('Redis')) { - try { - $this->cache = CacheDriverFactory::create('redis'); - } catch (\Exception $exception) { - throw new \Exception("Redis - TestCase failed: " . $exception->getMessage(), $exception->getCode(), $exception); - } - return $this->cache; - } else { - $this->markTestSkipped('Redis driver isn\'t available'); - return null; - } + $this->cache = CacheDriverFactory::create('redis'); + return $this->cache; } public function tearDown() { - if (class_exists('Redis')) { - $this->cache->clear(false); - } + $this->cache->clear(false); parent::tearDown(); } } diff --git a/tests/src/Core/Lock/LockTest.php b/tests/src/Core/Lock/LockTest.php index 79ee023bd8..5663a26af1 100644 --- a/tests/src/Core/Lock/LockTest.php +++ b/tests/src/Core/Lock/LockTest.php @@ -30,12 +30,18 @@ abstract class LockTest extends DatabaseTest Config::set('system', 'theme', 'system_theme'); } + /** + * @small + */ public function testLock() { $this->instance->acquireLock('foo', 1); $this->assertTrue($this->instance->isLocked('foo')); $this->assertFalse($this->instance->isLocked('bar')); } + /** + * @small + */ public function testDoubleLock() { $this->instance->acquireLock('foo', 1); $this->assertTrue($this->instance->isLocked('foo')); @@ -43,6 +49,9 @@ abstract class LockTest extends DatabaseTest $this->assertTrue($this->instance->acquireLock('foo', 1)); } + /** + * @small + */ public function testReleaseLock() { $this->instance->acquireLock('foo', 1); $this->assertTrue($this->instance->isLocked('foo')); @@ -50,6 +59,9 @@ abstract class LockTest extends DatabaseTest $this->assertFalse($this->instance->isLocked('foo')); } + /** + * @small + */ public function testReleaseAll() { $this->instance->acquireLock('foo', 1); $this->instance->acquireLock('bar', 1); @@ -66,6 +78,9 @@ abstract class LockTest extends DatabaseTest $this->assertFalse($this->instance->isLocked('nice')); } + /** + * @small + */ public function testReleaseAfterUnlock() { $this->instance->acquireLock('foo', 1); $this->instance->acquireLock('bar', 1); @@ -83,6 +98,9 @@ abstract class LockTest extends DatabaseTest $this->assertFalse($this->instance->isLocked('nice')); } + /** + * @medium + */ function testLockTTL() { // 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 diff --git a/tests/src/Core/Lock/MemcacheCacheLockDriverTest.php b/tests/src/Core/Lock/MemcacheCacheLockDriverTest.php index 67ccdb57d2..c54cf9c599 100644 --- a/tests/src/Core/Lock/MemcacheCacheLockDriverTest.php +++ b/tests/src/Core/Lock/MemcacheCacheLockDriverTest.php @@ -7,6 +7,9 @@ namespace Friendica\Test\src\Core\Lock; use Friendica\Core\Cache\CacheDriverFactory; use Friendica\Core\Lock\CacheLockDriver; +/** + * @requires extension Memcache + */ class MemcacheCacheLockDriverTest extends LockTest { /** @@ -16,25 +19,13 @@ class MemcacheCacheLockDriverTest extends LockTest protected function getInstance() { - if (class_exists('Memcache')) { - try { - $this->cache = CacheDriverFactory::create('memcache'); - } catch (\Exception $exception) { - print "Memcache - TestCase failed: " . $exception->getMessage(); - throw new \Exception(); - } - return new CacheLockDriver($this->cache); - } else { - $this->markTestSkipped('Memcache driver isn\'t available'); - return null; - } + $this->cache = CacheDriverFactory::create('memcache'); + return new CacheLockDriver($this->cache); } public function tearDown() { - if (class_exists('Memcache')) { - $this->cache->clear(); - } + $this->cache->clear(); parent::tearDown(); } } diff --git a/tests/src/Core/Lock/MemcachedCacheLockDriverTest.php b/tests/src/Core/Lock/MemcachedCacheLockDriverTest.php index e08358ce38..27886261b2 100644 --- a/tests/src/Core/Lock/MemcachedCacheLockDriverTest.php +++ b/tests/src/Core/Lock/MemcachedCacheLockDriverTest.php @@ -7,6 +7,9 @@ namespace Friendica\Test\src\Core\Lock; use Friendica\Core\Cache\CacheDriverFactory; use Friendica\Core\Lock\CacheLockDriver; +/** + * @requires extension memcached + */ class MemcachedCacheLockDriverTest extends LockTest { /** @@ -16,25 +19,13 @@ class MemcachedCacheLockDriverTest extends LockTest protected function getInstance() { - if (class_exists('Memcached')) { - try { - $this->cache = CacheDriverFactory::create('memcached'); - } catch (\Exception $exception) { - print "Memcached - TestCase failed: " . $exception->getMessage(); - throw new \Exception(); - } - return new CacheLockDriver($this->cache); - } else { - $this->markTestSkipped('Memcached driver isn\'t available'); - return null; - } + $this->cache = CacheDriverFactory::create('memcached'); + return new CacheLockDriver($this->cache); } public function tearDown() { - if (class_exists('Memcached')) { - $this->cache->clear(); - } + $this->cache->clear(); parent::tearDown(); } } diff --git a/tests/src/Core/Lock/RedisCacheLockDriverTest.php b/tests/src/Core/Lock/RedisCacheLockDriverTest.php index 82d9b50def..eaafbf4e44 100644 --- a/tests/src/Core/Lock/RedisCacheLockDriverTest.php +++ b/tests/src/Core/Lock/RedisCacheLockDriverTest.php @@ -7,6 +7,9 @@ namespace Friendica\Test\src\Core\Lock; use Friendica\Core\Cache\CacheDriverFactory; use Friendica\Core\Lock\CacheLockDriver; +/** + * @requires extension redis + */ class RedisCacheLockDriverTest extends LockTest { /** @@ -16,25 +19,14 @@ class RedisCacheLockDriverTest extends LockTest protected function getInstance() { - if (class_exists('Redis')) { - try { - $this->cache = CacheDriverFactory::create('redis'); - } catch (\Exception $exception) { - print "Redis - TestCase failed: " . $exception->getMessage(); - throw new \Exception(); - } - return new CacheLockDriver($this->cache); - } else { - $this->markTestSkipped('Redis driver isn\'t available'); - return null; - } + $this->cache = CacheDriverFactory::create('redis'); + return new CacheLockDriver($this->cache); + } public function tearDown() { - if (class_exists('Redis')) { - $this->cache->clear(); - } + $this->cache->clear(); parent::tearDown(); } }