123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- <?php
- namespace yiiunit\extensions\mongodb;
- use Yii;
- use yii\mongodb\Cache;
- class CacheTest extends TestCase
- {
- /**
- * @var string test cache collection name.
- */
- protected static $cacheCollection = '_test_cache';
- protected function tearDown()
- {
- $this->dropCollection(static::$cacheCollection);
- parent::tearDown();
- }
- /**
- * Creates test cache instance.
- * @return Cache cache instance.
- */
- protected function createCache()
- {
- return Yii::createObject([
- 'class' => Cache::className(),
- 'db' => $this->getConnection(),
- 'cacheCollection' => static::$cacheCollection,
- 'gcProbability' => 0,
- ]);
- }
- // Tests:
- public function testSet()
- {
- $cache = $this->createCache();
- $key = 'test_key';
- $value = 'test_value';
- $this->assertTrue($cache->set($key, $value), 'Unable to set value!');
- $this->assertEquals($value, $cache->get($key), 'Unable to set value correctly!');
- $newValue = 'test_new_value';
- $this->assertTrue($cache->set($key, $newValue), 'Unable to update value!');
- $this->assertEquals($newValue, $cache->get($key), 'Unable to update value correctly!');
- }
- public function testAdd()
- {
- $cache = $this->createCache();
- $key = 'test_key';
- $value = 'test_value';
- $this->assertTrue($cache->add($key, $value), 'Unable to add value!');
- $this->assertEquals($value, $cache->get($key), 'Unable to add value correctly!');
- $newValue = 'test_new_value';
- $this->assertTrue($cache->add($key, $newValue), 'Unable to re-add value!');
- $this->assertEquals($value, $cache->get($key), 'Original value is lost!');
- }
- /**
- * @depends testSet
- */
- public function testDelete()
- {
- $cache = $this->createCache();
- $key = 'test_key';
- $value = 'test_value';
- $cache->set($key, $value);
- $this->assertTrue($cache->delete($key), 'Unable to delete key!');
- $this->assertEquals(false, $cache->get($key), 'Value is not deleted!');
- }
- /**
- * @depends testSet
- */
- public function testFlush()
- {
- $cache = $this->createCache();
- $cache->set('key1', 'value1');
- $cache->set('key2', 'value2');
- $this->assertTrue($cache->flush(), 'Unable to flush cache!');
- $collection = $cache->db->getCollection($cache->cacheCollection);
- $rows = $this->findAll($collection);
- $this->assertCount(0, $rows, 'Unable to flush records!');
- }
- /**
- * @depends testSet
- */
- public function testGc()
- {
- $cache = $this->createCache();
- $cache->set('key1', 'value1');
- $cache->set('key2', 'value2');
- $collection = $cache->db->getCollection($cache->cacheCollection);
- list($row) = $this->findAll($collection);
- $collection->update(['_id' => $row['_id']], ['expire' => time() - 10]);
- $cache->gc(true);
- $rows = $this->findAll($collection);
- $this->assertCount(1, $rows, 'Unable to collect garbage!');
- }
- /**
- * @depends testSet
- */
- public function testGetExpired()
- {
- $cache = $this->createCache();
- $key = 'test_key';
- $value = 'test_value';
- $cache->set($key, $value);
- $collection = $cache->db->getCollection($cache->cacheCollection);
- list($row) = $this->findAll($collection);
- $collection->update(['_id' => $row['_id']], ['expire' => time() - 10]);
- $this->assertEquals(false, $cache->get($key), 'Expired key value returned!');
- }
- }
|