add test for updating etag with unchanged mtime

Signed-off-by: Robin Appelman <robin@icewind.nl>
pull/43244/head
Robin Appelman 2023-11-07 16:53:45 +07:00 committed by backportbot[bot]
parent b38708afaf
commit f56a8e7e9e
1 changed files with 19 additions and 0 deletions

@ -404,4 +404,23 @@ class ScannerTest extends TestCase {
['/sub/folder/foo.txt', false],
];
}
public function testNoETagUnscannedFolder() {
$this->fillTestFolders();
$this->scanner->scan('');
$oldFolderEntry = $this->cache->get('folder');
// create a new file in a folder by keeping the mtime unchanged, but mark the folder as unscanned
$this->storage->file_put_contents('folder/new.txt', 'foo');
$this->storage->touch('folder', $oldFolderEntry->getMTime());
$this->cache->update($oldFolderEntry->getId(), ['size' => -1]);
$this->scanner->scan('');
$this->cache->inCache('folder/new.txt');
$newFolderEntry = $this->cache->get('folder');
$this->assertNotEquals($newFolderEntry->getEtag(), $oldFolderEntry->getEtag());
}
}