|
|
|
@ -32,7 +32,6 @@ class Scanner extends \PHPUnit_Framework_TestCase {
|
|
|
|
|
|
|
|
|
|
function tearDown() {
|
|
|
|
|
if ($this->cache) {
|
|
|
|
|
$ids = $this->cache->getAll();
|
|
|
|
|
$this->cache->clear();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -199,7 +198,7 @@ class Scanner extends \PHPUnit_Framework_TestCase {
|
|
|
|
|
$this->assertFalse($this->cache->inCache('folder/bar.txt'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testScanRemovedFile(){
|
|
|
|
|
public function testScanRemovedFile() {
|
|
|
|
|
$this->fillTestFolders();
|
|
|
|
|
|
|
|
|
|
$this->scanner->scan('');
|
|
|
|
@ -233,4 +232,52 @@ class Scanner extends \PHPUnit_Framework_TestCase {
|
|
|
|
|
$this->assertInternalType('string', $newData0['etag']);
|
|
|
|
|
$this->assertNotEmpty($newData0['etag']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testRepairParent() {
|
|
|
|
|
$this->fillTestFolders();
|
|
|
|
|
$this->scanner->scan('');
|
|
|
|
|
$this->assertTrue($this->cache->inCache('folder/bar.txt'));
|
|
|
|
|
$oldFolderId = $this->cache->getId('folder');
|
|
|
|
|
|
|
|
|
|
// delete the folder without removing the childs
|
|
|
|
|
$sql = 'DELETE FROM `*PREFIX*filecache` WHERE `fileid` = ?';
|
|
|
|
|
\OC_DB::executeAudited($sql, array($oldFolderId));
|
|
|
|
|
|
|
|
|
|
$cachedData = $this->cache->get('folder/bar.txt');
|
|
|
|
|
$this->assertEquals($oldFolderId, $cachedData['parent']);
|
|
|
|
|
$this->assertFalse($this->cache->inCache('folder'));
|
|
|
|
|
|
|
|
|
|
$this->scanner->scan('');
|
|
|
|
|
|
|
|
|
|
$this->assertTrue($this->cache->inCache('folder'));
|
|
|
|
|
$newFolderId = $this->cache->getId('folder');
|
|
|
|
|
$this->assertNotEquals($oldFolderId, $newFolderId);
|
|
|
|
|
|
|
|
|
|
$cachedData = $this->cache->get('folder/bar.txt');
|
|
|
|
|
$this->assertEquals($newFolderId, $cachedData['parent']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testRepairParentShallow() {
|
|
|
|
|
$this->fillTestFolders();
|
|
|
|
|
$this->scanner->scan('');
|
|
|
|
|
$this->assertTrue($this->cache->inCache('folder/bar.txt'));
|
|
|
|
|
$oldFolderId = $this->cache->getId('folder');
|
|
|
|
|
|
|
|
|
|
// delete the folder without removing the childs
|
|
|
|
|
$sql = 'DELETE FROM `*PREFIX*filecache` WHERE `fileid` = ?';
|
|
|
|
|
\OC_DB::executeAudited($sql, array($oldFolderId));
|
|
|
|
|
|
|
|
|
|
$cachedData = $this->cache->get('folder/bar.txt');
|
|
|
|
|
$this->assertEquals($oldFolderId, $cachedData['parent']);
|
|
|
|
|
$this->assertFalse($this->cache->inCache('folder'));
|
|
|
|
|
|
|
|
|
|
$this->scanner->scan('folder', \OC\Files\Cache\Scanner::SCAN_SHALLOW);
|
|
|
|
|
|
|
|
|
|
$this->assertTrue($this->cache->inCache('folder'));
|
|
|
|
|
$newFolderId = $this->cache->getId('folder');
|
|
|
|
|
$this->assertNotEquals($oldFolderId, $newFolderId);
|
|
|
|
|
|
|
|
|
|
$cachedData = $this->cache->get('folder/bar.txt');
|
|
|
|
|
$this->assertEquals($newFolderId, $cachedData['parent']);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|