You are here

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 {

  /**
   * @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 = "";
    $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);
  }

}

Classes

Namesort descending Description
MongoDBCacheTest