You are here

CouchbaseCacheTest.php in Plug 7

File

lib/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CouchbaseCacheTest.php
View source
<?php

namespace Doctrine\Tests\Common\Cache;

use Couchbase;
use Doctrine\Common\Cache\CouchbaseCache;
class CouchbaseCacheTest extends CacheTest {
  private $couchbase;
  public function setUp() {
    if (extension_loaded('couchbase')) {
      try {
        $this->couchbase = new Couchbase('127.0.0.1', 'Administrator', 'password', 'default');
      } catch (Exception $ex) {
        $this
          ->markTestSkipped('Could not instantiate the Couchbase cache because of: ' . $ex);
      }
    }
    else {
      $this
        ->markTestSkipped('The ' . __CLASS__ . ' requires the use of the couchbase extension');
    }
  }
  public function testNoExpire() {
    $cache = $this
      ->_getCacheDriver();
    $cache
      ->save('noexpire', 'value', 0);
    sleep(1);
    $this
      ->assertTrue($cache
      ->contains('noexpire'), 'Couchbase provider should support no-expire');
  }
  public function testLongLifetime() {
    $cache = $this
      ->_getCacheDriver();
    $cache
      ->save('key', 'value', 30 * 24 * 3600 + 1);
    $this
      ->assertTrue($cache
      ->contains('key'), 'Couchbase provider should support TTL > 30 days');
  }
  protected function _getCacheDriver() {
    $driver = new CouchbaseCache();
    $driver
      ->setCouchbase($this->couchbase);
    return $driver;
  }

}

Classes

Namesort descending Description
CouchbaseCacheTest