diff options
author | Vincent Petry <pvince81@yahoo.fr> | 2023-08-03 23:09:17 +0200 |
---|---|---|
committer | Simon L <szaimen@e.mail.de> | 2023-08-29 11:04:31 +0200 |
commit | 8d1a3daa3fd7d1a4ecb7934662a76266a02ce225 (patch) | |
tree | 04c7d45698d887d03f532e4788b7e6cf94574a4e /tests | |
parent | 6f520f23046e74c07b1f7179abba1097af3e0c65 (diff) | |
download | nextcloud-server-8d1a3daa3fd7d1a4ecb7934662a76266a02ce225.tar.gz nextcloud-server-8d1a3daa3fd7d1a4ecb7934662a76266a02ce225.zip |
Allow ext storage Local to go unavailable
Whenever an external storage of type Local points at a non-existing
directory, process this as a StorageNotAvailable instead of returning
404.
This makes desktop clients ignore the folder instead of deleting it when
it becomes unavailable.
The code change was limited to external storages to avoid issues during
setup and with the default home storage.
Signed-off-by: Vincent Petry <pvince81@yahoo.fr>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/Files/Storage/LocalTest.php | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/lib/Files/Storage/LocalTest.php b/tests/lib/Files/Storage/LocalTest.php index e324d2b28db..1190a2b2da0 100644 --- a/tests/lib/Files/Storage/LocalTest.php +++ b/tests/lib/Files/Storage/LocalTest.php @@ -139,4 +139,15 @@ class LocalTest extends Storage { umask($oldMask); $this->assertTrue($this->instance->isUpdatable('test.txt')); } + + public function testUnavailableExternal() { + $this->expectException(\OCP\Files\StorageNotAvailableException::class); + $this->instance = new \OC\Files\Storage\Local(['datadir' => $this->tmpDir . '/unexist', 'isExternal' => true]); + } + + public function testUnavailableNonExternal() { + $this->instance = new \OC\Files\Storage\Local(['datadir' => $this->tmpDir . '/unexist']); + // no exception thrown + $this->assertNotNull($this->instance); + } } |