scratch – Blame information for rev 115

Subversion Repositories:
Rev:
Rev Author Line No. Line
115 office 1 <?php
2  
3 namespace Doctrine\Tests\Common\Cache;
4  
5 use Doctrine\Common\Cache\Cache;
6 use Doctrine\Common\Cache\MongoDBCache;
7 use MongoClient;
8 use MongoCollection;
9  
10 /**
11 * @requires extension mongo
12 */
13 class MongoDBCacheTest extends CacheTest
14 {
15 /**
16 * @var MongoCollection
17 */
18 private $collection;
19  
20 protected function setUp()
21 {
22 if ( ! version_compare(phpversion('mongo'), '1.3.0', '>=')) {
23 $this->markTestSkipped('Mongo >= 1.3.0 is required.');
24 }
25  
26 $mongo = new MongoClient();
27 $this->collection = $mongo->selectCollection('doctrine_common_cache', 'test');
28 }
29  
30 protected function tearDown()
31 {
32 if ($this->collection instanceof MongoCollection) {
33 $this->collection->drop();
34 }
35 }
36  
37 public function testGetStats()
38 {
39 $cache = $this->_getCacheDriver();
40 $stats = $cache->getStats();
41  
42 $this->assertNull($stats[Cache::STATS_HITS]);
43 $this->assertNull($stats[Cache::STATS_MISSES]);
44 $this->assertGreaterThan(0, $stats[Cache::STATS_UPTIME]);
45 $this->assertEquals(0, $stats[Cache::STATS_MEMORY_USAGE]);
46 $this->assertNull($stats[Cache::STATS_MEMORY_AVAILABLE]);
47 }
48  
49 /**
50 * @group 108
51 */
52 public function testMongoCursorExceptionsDoNotBubbleUp()
53 {
54 /* @var $collection \MongoCollection|\PHPUnit_Framework_MockObject_MockObject */
55 $collection = $this->getMock('MongoCollection', array(), array(), '', false);
56  
57 $collection->expects(self::once())->method('update')->willThrowException(new \MongoCursorException());
58  
59 $cache = new MongoDBCache($collection);
60  
61 self::assertFalse($cache->save('foo', 'bar'));
62 }
63  
64 protected function _getCacheDriver()
65 {
66 return new MongoDBCache($this->collection);
67 }
68 }