simplifying unittests (#5395)

* simplifying unittests

- use @requires instead class_exist
- define @small and @medium

* simplifying unittests

- removed unnecessary throwings
This commit is contained in:
Philipp 2018-07-18 21:04:18 +02:00 committed by Hypolite Petovan
parent 2fa6cc0000
commit 2d0446bd38
9 changed files with 83 additions and 87 deletions

View file

@ -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

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}