diff options
author | Robin Appelman <robin@icewind.nl> | 2023-11-07 16:53:45 +0100 |
---|---|---|
committer | Robin Appelman <robin@icewind.nl> | 2024-01-31 18:05:11 +0100 |
commit | 2cf9ed7ca5c1f0061ebde7eb13a96d097e6cfa14 (patch) | |
tree | 24126a256959952f12343e8ddb773f48812473f2 /tests/lib | |
parent | e14bceb63fc07a9bde7c8e62605b779d673e91c0 (diff) | |
download | nextcloud-server-2cf9ed7ca5c1f0061ebde7eb13a96d097e6cfa14.tar.gz nextcloud-server-2cf9ed7ca5c1f0061ebde7eb13a96d097e6cfa14.zip |
add test for updating etag with unchanged mtime
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'tests/lib')
-rw-r--r-- | tests/lib/Files/Cache/ScannerTest.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/lib/Files/Cache/ScannerTest.php b/tests/lib/Files/Cache/ScannerTest.php index e4c052f6025..52587aeabc7 100644 --- a/tests/lib/Files/Cache/ScannerTest.php +++ b/tests/lib/Files/Cache/ScannerTest.php @@ -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()); + } } |