summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2015-06-16 11:00:18 +0200
committerJoas Schilling <nickvergessen@gmx.de>2015-06-16 11:00:18 +0200
commit7d8b728066987bd312b3225eff6cff67ca6a610a (patch)
tree6653104e2eff4511ed49636334496a7b6ea28901 /tests
parent60005bea1945537316115217db60397a1691ee86 (diff)
parent3b08b2658954b95932af8eec7cfaac17b1da7873 (diff)
downloadnextcloud-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.php64
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);
}
}