Skip to content

Commit

Permalink
[HttpKernel] Added mock objects for Memcache(d) and Redis
Browse files Browse the repository at this point in the history
  • Loading branch information
pulzarraider committed Apr 28, 2012
1 parent e17217b commit 1f6c8d5
Show file tree
Hide file tree
Showing 10 changed files with 737 additions and 72 deletions.
1 change: 0 additions & 1 deletion phpunit.xml.dist
Expand Up @@ -22,7 +22,6 @@
<groups>
<exclude>
<group>benchmark</group>
<group>memcached</group>
</exclude>
</groups>

Expand Down
Expand Up @@ -50,6 +50,16 @@ protected function getMemcache()
return $this->memcache;
}

/**
* Set instance of the Memcache
*
* @param Memcache $memcache
*/
public function setMemcache($memcache)
{
$this->memcache = $memcache;
}

/**
* {@inheritdoc}
*/
Expand Down
Expand Up @@ -54,6 +54,16 @@ protected function getMemcached()
return $this->memcached;
}

/**
* Set instance of the Memcached
*
* @param Memcached $memcached
*/
public function setMemcached($memcached)
{
$this->memcached = $memcached;
}

/**
* {@inheritdoc}
*/
Expand Down
10 changes: 10 additions & 0 deletions src/Symfony/Component/HttpKernel/Profiler/RedisProfilerStorage.php
Expand Up @@ -211,6 +211,16 @@ protected function getRedis()
return $this->redis;
}

/**
* Set instance of the Redis
*
* @param Redis $redis
*/
public function setRedis($redis)
{
$this->redis = $redis;
}

private function createProfileFromData($token, $data, $parent = null)
{
$profile = new Profile($token);
Expand Down
Expand Up @@ -12,48 +12,30 @@
namespace Symfony\Component\HttpKernel\Tests\Profiler;

use Symfony\Component\HttpKernel\Profiler\MemcacheProfilerStorage;
use Symfony\Component\HttpKernel\Tests\Profiler\Mock\MemcacheMock;

class DummyMemcacheProfilerStorage extends MemcacheProfilerStorage
{
public function getMemcache()
{
return parent::getMemcache();
}
}

/**
* @group memcached
*/
class MemcacheProfilerStorageTest extends AbstractProfilerStorageTest
{
protected static $storage;

public static function tearDownAfterClass()
protected function setUp()
{
$memcacheMock = new MemcacheMock();
$memcacheMock->addServer('127.0.0.1', 11211);

self::$storage = new MemcacheProfilerStorage('memcache://127.0.0.1:11211', '', '', 86400);
self::$storage->setMemcache($memcacheMock);

if (self::$storage) {
self::$storage->purge();
}
}

protected function setUp()
protected function tearDown()
{
if (!extension_loaded('memcache')) {
$this->markTestSkipped('MemcacheProfilerStorageTest requires that the extension memcache is loaded');
}

self::$storage = new DummyMemcacheProfilerStorage('memcache://127.0.0.1:11211', '', '', 86400);
try {
self::$storage->getMemcache();
$stats = self::$storage->getMemcache()->getExtendedStats();
if (!isset($stats['127.0.0.1:11211']) || $stats['127.0.0.1:11211'] === false) {
throw new \Exception();
}
} catch (\Exception $e) {
$this->markTestSkipped('MemcacheProfilerStorageTest requires that there is a Memcache server present on localhost');
}

if (self::$storage) {
self::$storage->purge();
self::$storage = false;
}
}

Expand Down
Expand Up @@ -12,44 +12,30 @@
namespace Symfony\Component\HttpKernel\Tests\Profiler;

use Symfony\Component\HttpKernel\Profiler\MemcachedProfilerStorage;
use Symfony\Component\HttpKernel\Tests\Profiler\Mock\MemcachedMock;

class DummyMemcachedProfilerStorage extends MemcachedProfilerStorage
{
public function getMemcached()
{
return parent::getMemcached();
}
}

/**
* @group memcached
*/
class MemcachedProfilerStorageTest extends AbstractProfilerStorageTest
{
protected static $storage;

public static function tearDownAfterClass()
protected function setUp()
{
$memcachedMock = new MemcachedMock();
$memcachedMock->addServer('127.0.0.1', 11211);

self::$storage = new MemcachedProfilerStorage('memcached://127.0.0.1:11211', '', '', 86400);
self::$storage->setMemcached($memcachedMock);

if (self::$storage) {
self::$storage->purge();
}
}

protected function setUp()
protected function tearDown()
{
if (!extension_loaded('memcached')) {
$this->markTestSkipped('MemcachedProfilerStorageTest requires that the extension memcached is loaded');
}

self::$storage = new DummyMemcachedProfilerStorage('memcached://127.0.0.1:11211', '', '', 86400);
try {
self::$storage->getMemcached();
} catch (\Exception $e) {
$this->markTestSkipped('MemcachedProfilerStorageTest requires that there is a Memcache server present on localhost');
}

if (self::$storage) {
self::$storage->purge();
self::$storage = false;
}
}

Expand Down

0 comments on commit 1f6c8d5

Please sign in to comment.