aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/files/cache
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/files/cache')
-rw-r--r--tests/lib/files/cache/cache.php44
-rw-r--r--tests/lib/files/cache/watcher.php10
2 files changed, 49 insertions, 5 deletions
diff --git a/tests/lib/files/cache/cache.php b/tests/lib/files/cache/cache.php
index 4051a6e234b..d8b6541bd0c 100644
--- a/tests/lib/files/cache/cache.php
+++ b/tests/lib/files/cache/cache.php
@@ -19,11 +19,19 @@ class Cache extends \PHPUnit_Framework_TestCase {
* @var \OC\Files\Storage\Temporary $storage;
*/
private $storage;
+ /**
+ * @var \OC\Files\Storage\Temporary $storage2;
+ */
+ private $storage2;
/**
* @var \OC\Files\Cache\Cache $cache
*/
private $cache;
+ /**
+ * @var \OC\Files\Cache\Cache $cache2
+ */
+ private $cache2;
public function testSimple() {
$file1 = 'foo';
@@ -170,6 +178,13 @@ class Cache extends \PHPUnit_Framework_TestCase {
$this->cache->put($file4, $data);
$this->cache->put($file5, $data);
+ /* simulate a second user with a different storage id but the same folder structure */
+ $this->cache2->put($file1, $folderData);
+ $this->cache2->put($file2, $folderData);
+ $this->cache2->put($file3, $folderData);
+ $this->cache2->put($file4, $data);
+ $this->cache2->put($file5, $data);
+
$this->cache->move('folder/foo', 'folder/foobar');
$this->assertFalse($this->cache->inCache('folder/foo'));
@@ -180,6 +195,16 @@ class Cache extends \PHPUnit_Framework_TestCase {
$this->assertTrue($this->cache->inCache('folder/foobar'));
$this->assertTrue($this->cache->inCache('folder/foobar/1'));
$this->assertTrue($this->cache->inCache('folder/foobar/2'));
+
+ /* the folder structure of the second user must not change! */
+ $this->assertTrue($this->cache2->inCache('folder/bar'));
+ $this->assertTrue($this->cache2->inCache('folder/foo'));
+ $this->assertTrue($this->cache2->inCache('folder/foo/1'));
+ $this->assertTrue($this->cache2->inCache('folder/foo/2'));
+
+ $this->assertFalse($this->cache2->inCache('folder/foobar'));
+ $this->assertFalse($this->cache2->inCache('folder/foobar/1'));
+ $this->assertFalse($this->cache2->inCache('folder/foobar/2'));
}
function testGetIncomplete() {
@@ -211,6 +236,23 @@ class Cache extends \PHPUnit_Framework_TestCase {
$this->assertEquals(array($storageId, 'foo'), \OC\Files\Cache\Cache::getById($id));
}
+ function testStorageMTime() {
+ $data = array('size' => 1000, 'mtime' => 20, 'mimetype' => 'foo/file');
+ $this->cache->put('foo', $data);
+ $cachedData = $this->cache->get('foo');
+ $this->assertEquals($data['mtime'], $cachedData['storage_mtime']);//if no storage_mtime is saved, mtime should be used
+
+ $this->cache->put('foo', array('storage_mtime' => 30));//when setting storage_mtime, mtime is also set
+ $cachedData = $this->cache->get('foo');
+ $this->assertEquals(30, $cachedData['storage_mtime']);
+ $this->assertEquals(30, $cachedData['mtime']);
+
+ $this->cache->put('foo', array('mtime' => 25));//setting mtime does not change storage_mtime
+ $cachedData = $this->cache->get('foo');
+ $this->assertEquals(30, $cachedData['storage_mtime']);
+ $this->assertEquals(25, $cachedData['mtime']);
+ }
+
function testLongId() {
$storage = new LongId(array());
$cache = $storage->getCache();
@@ -226,6 +268,8 @@ class Cache extends \PHPUnit_Framework_TestCase {
public function setUp() {
$this->storage = new \OC\Files\Storage\Temporary(array());
+ $this->storage2 = new \OC\Files\Storage\Temporary(array());
$this->cache = new \OC\Files\Cache\Cache($this->storage);
+ $this->cache2 = new \OC\Files\Cache\Cache($this->storage2);
}
}
diff --git a/tests/lib/files/cache/watcher.php b/tests/lib/files/cache/watcher.php
index 8ef6ab44d10..e43c86ed438 100644
--- a/tests/lib/files/cache/watcher.php
+++ b/tests/lib/files/cache/watcher.php
@@ -35,7 +35,7 @@ class Watcher extends \PHPUnit_Framework_TestCase {
$updater = $storage->getWatcher();
//set the mtime to the past so it can detect an mtime change
- $cache->put('', array('mtime' => 10));
+ $cache->put('', array('storage_mtime' => 10));
$this->assertTrue($cache->inCache('folder/bar.txt'));
$this->assertTrue($cache->inCache('folder/bar2.txt'));
@@ -47,14 +47,14 @@ class Watcher extends \PHPUnit_Framework_TestCase {
$cachedData = $cache->get('bar.test');
$this->assertEquals(3, $cachedData['size']);
- $cache->put('bar.test', array('mtime' => 10));
+ $cache->put('bar.test', array('storage_mtime' => 10));
$storage->file_put_contents('bar.test', 'test data');
$updater->checkUpdate('bar.test');
$cachedData = $cache->get('bar.test');
$this->assertEquals(9, $cachedData['size']);
- $cache->put('folder', array('mtime' => 10));
+ $cache->put('folder', array('storage_mtime' => 10));
$storage->unlink('folder/bar2.txt');
$updater->checkUpdate('folder');
@@ -69,7 +69,7 @@ class Watcher extends \PHPUnit_Framework_TestCase {
$updater = $storage->getWatcher();
//set the mtime to the past so it can detect an mtime change
- $cache->put('', array('mtime' => 10));
+ $cache->put('', array('storage_mtime' => 10));
$storage->unlink('foo.txt');
$storage->rename('folder', 'foo.txt');
@@ -85,7 +85,7 @@ class Watcher extends \PHPUnit_Framework_TestCase {
$updater = $storage->getWatcher();
//set the mtime to the past so it can detect an mtime change
- $cache->put('foo.txt', array('mtime' => 10));
+ $cache->put('foo.txt', array('storage_mtime' => 10));
$storage->unlink('foo.txt');
$storage->rename('folder', 'foo.txt');