Вход Регистрация
Файл: src/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MongoDBCacheTest.php
Строк: 74
<?php

namespace DoctrineTestsCommonCache;

use 
DoctrineCommonCacheCache;
use 
DoctrineCommonCacheMongoDBCache;
use 
MongoClient;
use 
MongoCollection;

/**
 * @requires extension mongo
 */
class MongoDBCacheTest extends CacheTest
{
    
/**
     * @var MongoCollection
     */
    
private $collection;

    protected function 
setUp()
    {
        if ( ! 
version_compare(phpversion('mongo'), '1.3.0''>=')) {
            
$this->markTestSkipped('Mongo >= 1.3.0 is required.');
        }

        
$mongo = new MongoClient();
        
$this->collection $mongo->selectCollection('doctrine_common_cache''test');
    }

    protected function 
tearDown()
    {
        if (
$this->collection instanceof MongoCollection) {
            
$this->collection->drop();
        }
    }

    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]);
    }

    
/**
     * @group 108
     */
    
public function testMongoCursorExceptionsDoNotBubbleUp()
    {
        
/* @var $collection MongoCollection|PHPUnit_Framework_MockObject_MockObject */
        
$collection $this->getMock('MongoCollection', array(), array(), ''false);

        
$collection->expects(self::once())->method('update')->willThrowException(new MongoCursorException());

        
$cache = new MongoDBCache($collection);

        
self::assertFalse($cache->save('foo''bar'));
    }

    protected function 
_getCacheDriver()
    {
        return new 
MongoDBCache($this->collection);
    }
}
Онлайн: 1
Реклама