diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2015-06-16 11:00:18 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2015-06-16 11:00:18 +0200 |
commit | 7d8b728066987bd312b3225eff6cff67ca6a610a (patch) | |
tree | 6653104e2eff4511ed49636334496a7b6ea28901 /tests | |
parent | 60005bea1945537316115217db60397a1691ee86 (diff) | |
parent | 3b08b2658954b95932af8eec7cfaac17b1da7873 (diff) | |
download | nextcloud-server-7d8b728066987bd312b3225eff6cff67ca6a610a.tar.gz nextcloud-server-7d8b728066987bd312b3225eff6cff67ca6a610a.zip |
Merge pull request #16832 from owncloud/memcache-fail
Throw exception if memcache misconfigured or missing
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/memcache/factory.php | 64 |
1 files changed, 42 insertions, 22 deletions
diff --git a/tests/lib/memcache/factory.php b/tests/lib/memcache/factory.php index 4ce032abbe8..c25e5937c16 100644 --- a/tests/lib/memcache/factory.php +++ b/tests/lib/memcache/factory.php @@ -66,45 +66,65 @@ class Test_Factory extends \Test\TestCase { return [ [ // local and distributed available - self::AVAILABLE1, self::AVAILABLE2, - self::AVAILABLE1, self::AVAILABLE2 + self::AVAILABLE1, self::AVAILABLE2, null, + self::AVAILABLE1, self::AVAILABLE2, \OC\Memcache\Factory::NULL_CACHE ], [ - // local available, distributed unavailable - self::AVAILABLE1, self::UNAVAILABLE1, - self::AVAILABLE1, self::AVAILABLE1 + // local and distributed null + null, null, null, + \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE ], [ - // local unavailable, distributed available - self::UNAVAILABLE1, self::AVAILABLE1, - \OC\Memcache\Factory::NULL_CACHE, self::AVAILABLE1 + // local available, distributed null (most common scenario) + self::AVAILABLE1, null, null, + self::AVAILABLE1, self::AVAILABLE1, \OC\Memcache\Factory::NULL_CACHE ], [ - // local and distributed unavailable - self::UNAVAILABLE1, self::UNAVAILABLE2, - \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE + // locking cache available + null, null, self::AVAILABLE1, + \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE, self::AVAILABLE1 ], [ - // local and distributed null - null, null, - \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE + // locking cache unavailable: no exception here in the factory + null, null, self::UNAVAILABLE1, + \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE, \OC\Memcache\Factory::NULL_CACHE + ] + ]; + } + + public function cacheUnavailableProvider() { + return [ + [ + // local available, distributed unavailable + self::AVAILABLE1, self::UNAVAILABLE1 ], [ - // local available, distributed null (most common scenario) - self::AVAILABLE1, null, - self::AVAILABLE1, self::AVAILABLE1 - ] + // local unavailable, distributed available + self::UNAVAILABLE1, self::AVAILABLE1 + ], + [ + // local and distributed unavailable + self::UNAVAILABLE1, self::UNAVAILABLE2 + ], ]; } /** * @dataProvider cacheAvailabilityProvider */ - public function testCacheAvailability($localCache, $distributedCache, - $expectedLocalCache, $expectedDistributedCache) - { - $factory = new \OC\Memcache\Factory('abc', $localCache, $distributedCache); + public function testCacheAvailability($localCache, $distributedCache, $lockingCache, + $expectedLocalCache, $expectedDistributedCache, $expectedLockingCache) { + $factory = new \OC\Memcache\Factory('abc', $localCache, $distributedCache, $lockingCache); $this->assertTrue(is_a($factory->createLocal(), $expectedLocalCache)); $this->assertTrue(is_a($factory->createDistributed(), $expectedDistributedCache)); + $this->assertTrue(is_a($factory->createLocking(), $expectedLockingCache)); + } + + /** + * @dataProvider cacheUnavailableProvider + * @expectedException \OC\HintException + */ + public function testCacheNotAvailableException($localCache, $distributedCache) { + new \OC\Memcache\Factory('abc', $localCache, $distributedCache); } } |