aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2024-04-08 18:42:44 +0200
committerFerdinand Thiessen <opensource@fthiessen.de>2024-04-10 01:21:01 +0200
commitda114d5c7d5237b07e33cd45d89c7de06c121893 (patch)
tree803835134e14f75a82d439d7e52badfc987a6b2a /tests
parent4bd5b490772541677a1b61edfef84f00f2e2c793 (diff)
downloadnextcloud-server-da114d5c7d5237b07e33cd45d89c7de06c121893.tar.gz
nextcloud-server-da114d5c7d5237b07e33cd45d89c7de06c121893.zip
test: add test for jail watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/Files/Cache/Wrapper/CacheJailTest.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/lib/Files/Cache/Wrapper/CacheJailTest.php b/tests/lib/Files/Cache/Wrapper/CacheJailTest.php
index 8d7e6536418..8c96e7f84e5 100644
--- a/tests/lib/Files/Cache/Wrapper/CacheJailTest.php
+++ b/tests/lib/Files/Cache/Wrapper/CacheJailTest.php
@@ -11,6 +11,7 @@ namespace Test\Files\Cache\Wrapper;
use OC\Files\Cache\Wrapper\CacheJail;
use OC\Files\Search\SearchComparison;
use OC\Files\Search\SearchQuery;
+use OC\Files\Storage\Wrapper\Jail;
use OC\User\User;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\Search\ISearchComparison;
@@ -218,4 +219,33 @@ class CacheJailTest extends CacheTest {
$this->assertCount(1, $result);
$this->assertEquals('foo/bar/asd', $result[0]['path']);
}
+
+ public function testWatcher() {
+ $storage = new Jail([
+ 'storage' => $this->storage,
+ 'root' => 'foo'
+ ]);
+ $storage->getScanner()->scan('');
+ $storage->file_put_contents('bar', 'asd');
+
+ $this->assertFalse($this->cache->inCache('bar'));
+ $storage->getWatcher()->update('bar', ['mimetype' => 'text/plain']);
+ $this->assertTrue($this->cache->inCache('bar'));
+ }
+
+ public function testWatcherAfterInnerWatcher() {
+ $storage = new Jail([
+ 'storage' => $this->storage,
+ 'root' => 'foo'
+ ]);
+ $storage->getScanner()->scan('');
+ $storage->file_put_contents('bar', 'asd');
+
+ // let the underlying storage create it's watcher first
+ $this->storage->getWatcher();
+
+ $this->assertFalse($this->cache->inCache('bar'));
+ $storage->getWatcher()->update('bar', ['mimetype' => 'text/plain']);
+ $this->assertTrue($this->cache->inCache('bar'));
+ }
}