forked from TruCopilot/phpfastcache
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPredisCustomClient.test.php
More file actions
52 lines (44 loc) · 1.63 KB
/
PredisCustomClient.test.php
File metadata and controls
52 lines (44 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
/**
*
* This file is part of Phpfastcache.
*
* @license MIT License (MIT)
*
* For full copyright and license information, please see the docs/CREDITS.txt and LICENCE files.
*
* @author Georges.L (Geolim4) <contact@geolim4.com>
* @author Contributors https://github.com/PHPSocialNetwork/phpfastcache/graphs/contributors
*/
use Phpfastcache\CacheManager;
use Phpfastcache\Exceptions\PhpfastcacheDriverCheckException;
use Phpfastcache\Exceptions\PhpfastcacheDriverConnectException;
use Phpfastcache\Tests\Helper\TestHelper;
use Phpfastcache\Drivers\Predis\Config as PredisConfig;
use Predis\Client as PredisClient;
use Predis\Connection\ConnectionException as PredisConnectionException;
chdir(__DIR__);
require_once __DIR__ . '/../vendor/autoload.php';
$testHelper = new TestHelper('Predis custom client');
try {
if (!class_exists(PredisClient::class)) {
throw new PhpfastcacheDriverCheckException('Predis library is not installed');
}
$testHelper->mutePhpNotices();
try{
$predisClient = new PredisClient([
'host' => '127.0.0.1',
'port' => 6379,
'password' => null,
'database' => 0,
]);
$predisClient->connect();
}catch (PredisConnectionException $e){
throw new PhpfastcacheDriverConnectException('Redis server unreachable.');
}
$cacheInstance = CacheManager::getInstance('Predis', (new PredisConfig())->setPredisClient($predisClient));
$testHelper->runCRUDTests($cacheInstance);
} catch (\RedisException $e) {
$testHelper->assertFail('A Predis exception occurred: ' . $e->getMessage());
}
$testHelper->terminateTest();