Scanner: additional tests for reusing etags during scanning
This commit is contained in:
parent
5ebff8cfc4
commit
1877a42a0d
|
@ -143,6 +143,24 @@ class Scanner extends \PHPUnit_Framework_TestCase {
|
|||
$newData = $this->cache->get('');
|
||||
$this->assertEquals($oldData['etag'], $newData['etag']);
|
||||
$this->assertEquals(-1, $newData['size']);
|
||||
|
||||
$this->scanner->scan('', \OC\Files\Cache\Scanner::SCAN_RECURSIVE);
|
||||
$oldData = $this->cache->get('');
|
||||
$this->assertNotEquals(-1, $oldData['size']);
|
||||
$this->scanner->scanFile('', \OC\Files\Cache\Scanner::REUSE_ETAG + \OC\Files\Cache\Scanner::REUSE_SIZE);
|
||||
$newData = $this->cache->get('');
|
||||
$this->assertEquals($oldData['etag'], $newData['etag']);
|
||||
$this->assertEquals($oldData['size'], $newData['size']);
|
||||
|
||||
$this->scanner->scan('', \OC\Files\Cache\Scanner::SCAN_RECURSIVE, \OC\Files\Cache\Scanner::REUSE_ETAG + \OC\Files\Cache\Scanner::REUSE_SIZE);
|
||||
$newData = $this->cache->get('');
|
||||
$this->assertEquals($oldData['etag'], $newData['etag']);
|
||||
$this->assertEquals($oldData['size'], $newData['size']);
|
||||
|
||||
$this->scanner->scan('', \OC\Files\Cache\Scanner::SCAN_SHALLOW, \OC\Files\Cache\Scanner::REUSE_ETAG + \OC\Files\Cache\Scanner::REUSE_SIZE);
|
||||
$newData = $this->cache->get('');
|
||||
$this->assertEquals($oldData['etag'], $newData['etag']);
|
||||
$this->assertEquals($oldData['size'], $newData['size']);
|
||||
}
|
||||
|
||||
public function testRemovedFile() {
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
/**
|
||||
* Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
namespace Test\Files\Utils;
|
||||
|
||||
use OC\Files\Mount\Mount;
|
||||
use OC\Files\Storage\Temporary;
|
||||
|
||||
class TestScanner extends \OC\Files\Utils\Scanner {
|
||||
/**
|
||||
* @var \OC\Files\Mount\Mount[] $mounts
|
||||
*/
|
||||
private $mounts = array();
|
||||
|
||||
/**
|
||||
* @param \OC\Files\Mount\Mount $mount
|
||||
*/
|
||||
public function addMount($mount) {
|
||||
$this->mounts[] = $mount;
|
||||
}
|
||||
|
||||
protected function getMounts($dir) {
|
||||
return $this->mounts;
|
||||
}
|
||||
}
|
||||
|
||||
class Scanner extends \PHPUnit_Framework_TestCase {
|
||||
public function testReuseExistingRoot() {
|
||||
$storage = new Temporary(array());
|
||||
$mount = new Mount($storage, '');
|
||||
$cache = $storage->getCache();
|
||||
|
||||
$storage->mkdir('folder');
|
||||
$storage->file_put_contents('foo.txt', 'qwerty');
|
||||
$storage->file_put_contents('folder/bar.txt', 'qwerty');
|
||||
|
||||
$scanner = new TestScanner('');
|
||||
$scanner->addMount($mount);
|
||||
|
||||
$scanner->scan('');
|
||||
$this->assertTrue($cache->inCache('folder/bar.txt'));
|
||||
$oldRoot = $cache->get('');
|
||||
|
||||
$scanner->scan('');
|
||||
$newRoot = $cache->get('');
|
||||
$this->assertEquals($oldRoot, $newRoot);
|
||||
}
|
||||
|
||||
public function testReuseExistingFile() {
|
||||
$storage = new Temporary(array());
|
||||
$mount = new Mount($storage, '');
|
||||
$cache = $storage->getCache();
|
||||
|
||||
$storage->mkdir('folder');
|
||||
$storage->file_put_contents('foo.txt', 'qwerty');
|
||||
$storage->file_put_contents('folder/bar.txt', 'qwerty');
|
||||
|
||||
$scanner = new TestScanner('');
|
||||
$scanner->addMount($mount);
|
||||
|
||||
$scanner->scan('');
|
||||
$this->assertTrue($cache->inCache('folder/bar.txt'));
|
||||
$old = $cache->get('folder/bar.txt');
|
||||
|
||||
$scanner->scan('');
|
||||
$new = $cache->get('folder/bar.txt');
|
||||
$this->assertEquals($old, $new);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue