MongoDBCacheTest.php in Zircon Profile 8
File
vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MongoDBCacheTest.php
View source
<?php
namespace Doctrine\Tests\Common\Cache;
use Doctrine\Common\Cache\Cache;
use Doctrine\Common\Cache\MongoDBCache;
use MongoClient;
use MongoCollection;
class MongoDBCacheTest extends CacheTest {
private $collection;
public function setUp() {
if (!version_compare(phpversion('mongo'), '1.3.0', '>=')) {
$this
->markTestSkipped('The ' . __CLASS__ . ' requires the use of mongo >= 1.3.0');
}
$mongo = new MongoClient();
$this->collection = $mongo
->selectCollection('doctrine_common_cache', 'test');
}
public function tearDown() {
if ($this->collection instanceof MongoCollection) {
$this->collection
->drop();
}
}
public function testSaveWithNonUtf8String() {
$data = "";
$cache = $this
->_getCacheDriver();
$this
->assertTrue($cache
->save('key', $data));
$this
->assertEquals($data, $cache
->fetch('key'));
}
public function testGetStats() {
$cache = $this
->_getCacheDriver();
$stats = $cache
->getStats();
$this
->assertNull($stats[Cache::STATS_HITS]);
$this
->assertNull($stats[Cache::STATS_MISSES]);
$this
->assertGreaterThan(0, $stats[Cache::STATS_UPTIME]);
$this
->assertEquals(0, $stats[Cache::STATS_MEMORY_USAGE]);
$this
->assertNull($stats[Cache::STATS_MEMORY_AVAILABLE]);
}
protected function _getCacheDriver() {
return new MongoDBCache($this->collection);
}
}