12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace Doctrine\Tests\Common\Cache;
- use Doctrine\Common\Cache\Cache;
- use Doctrine\Common\Cache\MongoDBCache;
- use MongoClient;
- use MongoCollection;
- class MongoDBCacheTest extends CacheTest
- {
- /**
- * @var MongoCollection
- */
- 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()
- {
- // Invalid 2-octet sequence
- $data = "\xc3\x28";
- $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);
- }
- }
|