diff options
author | Robin Appelman <robin@icewind.nl> | 2024-04-08 18:42:44 +0200 |
---|---|---|
committer | Robin Appelman <robin@icewind.nl> | 2024-04-08 18:42:44 +0200 |
commit | 88ccea6d06b00e439be9963b15a3aae50c36d1e8 (patch) | |
tree | 24b43a0ddaa7463b1cecba83418f82d92b959622 /tests/lib | |
parent | d31ed8dbcad9e040b496e63cdd2c0916f9c8a9a4 (diff) | |
download | nextcloud-server-88ccea6d06b00e439be9963b15a3aae50c36d1e8.tar.gz nextcloud-server-88ccea6d06b00e439be9963b15a3aae50c36d1e8.zip |
test: add test for jail watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'tests/lib')
-rw-r--r-- | tests/lib/Files/Cache/Wrapper/CacheJailTest.php | 30 |
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')); + } } |