[HttpKernel] RedisProfilerStorage - Fix falling unit tests when Redis extension is not available
This commit is contained in:
parent
dbd95683aa
commit
991474be12
@ -22,6 +22,11 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
{
|
{
|
||||||
const TOKEN_PREFIX = 'sf_profiler_';
|
const TOKEN_PREFIX = 'sf_profiler_';
|
||||||
|
|
||||||
|
const REDIS_OPT_SERIALIZER = 1;
|
||||||
|
const REDIS_OPT_PREFIX = 2;
|
||||||
|
const REDIS_SERIALIZER_NONE = 0;
|
||||||
|
const REDIS_SERIALIZER_PHP = 1;
|
||||||
|
|
||||||
protected $dsn;
|
protected $dsn;
|
||||||
protected $lifetime;
|
protected $lifetime;
|
||||||
|
|
||||||
@ -51,7 +56,7 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
{
|
{
|
||||||
$indexName = $this->getIndexName();
|
$indexName = $this->getIndexName();
|
||||||
|
|
||||||
if (!$indexContent = $this->getValue($indexName, Redis::SERIALIZER_NONE)) {
|
if (!$indexContent = $this->getValue($indexName, self::REDIS_SERIALIZER_NONE)) {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,7 +108,7 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
// delete only items from index
|
// delete only items from index
|
||||||
$indexName = $this->getIndexName();
|
$indexName = $this->getIndexName();
|
||||||
|
|
||||||
$indexContent = $this->getValue($indexName, Redis::SERIALIZER_NONE);
|
$indexContent = $this->getValue($indexName, self::REDIS_SERIALIZER_NONE);
|
||||||
|
|
||||||
if (!$indexContent) {
|
if (!$indexContent) {
|
||||||
return false;
|
return false;
|
||||||
@ -137,7 +142,7 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$profile = $this->getValue($this->getItemName($token), Redis::SERIALIZER_PHP);
|
$profile = $this->getValue($this->getItemName($token), self::REDIS_SERIALIZER_PHP);
|
||||||
|
|
||||||
if (false !== $profile) {
|
if (false !== $profile) {
|
||||||
$profile = $this->createProfileFromData($token, $profile);
|
$profile = $this->createProfileFromData($token, $profile);
|
||||||
@ -162,7 +167,7 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
'time' => $profile->getTime(),
|
'time' => $profile->getTime(),
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($this->setValue($this->getItemName($profile->getToken()), $data, $this->lifetime, Redis::SERIALIZER_PHP)) {
|
if ($this->setValue($this->getItemName($profile->getToken()), $data, $this->lifetime, self::REDIS_SERIALIZER_PHP)) {
|
||||||
// Add to index
|
// Add to index
|
||||||
$indexName = $this->getIndexName();
|
$indexName = $this->getIndexName();
|
||||||
|
|
||||||
@ -203,7 +208,7 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
$redis = new Redis;
|
$redis = new Redis;
|
||||||
$redis->connect($host, $port);
|
$redis->connect($host, $port);
|
||||||
|
|
||||||
$redis->setOption(Redis::OPT_PREFIX, self::TOKEN_PREFIX);
|
$redis->setOption(self::REDIS_OPT_PREFIX, self::TOKEN_PREFIX);
|
||||||
|
|
||||||
$this->redis = $redis;
|
$this->redis = $redis;
|
||||||
}
|
}
|
||||||
@ -243,7 +248,7 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$childProfileData = $this->getValue($this->getItemName($token), Redis::SERIALIZER_PHP)) {
|
if (!$childProfileData = $this->getValue($this->getItemName($token), self::REDIS_SERIALIZER_PHP)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -306,10 +311,10 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
*
|
*
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
private function getValue($key, $serializer = Redis::SERIALIZER_NONE)
|
private function getValue($key, $serializer = self::REDIS_SERIALIZER_NONE)
|
||||||
{
|
{
|
||||||
$redis = $this->getRedis();
|
$redis = $this->getRedis();
|
||||||
$redis->setOption(Redis::OPT_SERIALIZER, $serializer);
|
$redis->setOption(self::REDIS_OPT_SERIALIZER, $serializer);
|
||||||
|
|
||||||
return $redis->get($key);
|
return $redis->get($key);
|
||||||
}
|
}
|
||||||
@ -324,10 +329,10 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
*
|
*
|
||||||
* @return Boolean
|
* @return Boolean
|
||||||
*/
|
*/
|
||||||
private function setValue($key, $value, $expiration = 0, $serializer = Redis::SERIALIZER_NONE)
|
private function setValue($key, $value, $expiration = 0, $serializer = self::REDIS_SERIALIZER_NONE)
|
||||||
{
|
{
|
||||||
$redis = $this->getRedis();
|
$redis = $this->getRedis();
|
||||||
$redis->setOption(Redis::OPT_SERIALIZER, $serializer);
|
$redis->setOption(self::REDIS_OPT_SERIALIZER, $serializer);
|
||||||
|
|
||||||
return $redis->setex($key, $expiration, $value);
|
return $redis->setex($key, $expiration, $value);
|
||||||
}
|
}
|
||||||
@ -344,7 +349,7 @@ class RedisProfilerStorage implements ProfilerStorageInterface
|
|||||||
private function appendValue($key, $value, $expiration = 0)
|
private function appendValue($key, $value, $expiration = 0)
|
||||||
{
|
{
|
||||||
$redis = $this->getRedis();
|
$redis = $this->getRedis();
|
||||||
$redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);
|
$redis->setOption(self::REDIS_OPT_SERIALIZER, self::REDIS_SERIALIZER_NONE);
|
||||||
|
|
||||||
if ($redis->exists($key)) {
|
if ($redis->exists($key)) {
|
||||||
$redis->append($key, $value);
|
$redis->append($key, $value);
|
||||||
|
Reference in New Issue
Block a user