diff options
author | Robin Appelman <robin@icewind.nl> | 2024-10-02 17:00:53 +0200 |
---|---|---|
committer | backportbot[bot] <backportbot[bot]@users.noreply.github.com> | 2024-10-29 15:02:49 +0000 |
commit | 8842fcb003c056ad504c320279f1ff1644355eac (patch) | |
tree | 6a45364040c15023a184c2594790cbef53ac74f5 | |
parent | 1a98cd52b5771243cd5662e19c2162f45f09f96a (diff) | |
download | nextcloud-server-8842fcb003c056ad504c320279f1ff1644355eac.tar.gz nextcloud-server-8842fcb003c056ad504c320279f1ff1644355eac.zip |
test: add test for nested jail cross-storage movebackport/47847/stable30
Signed-off-by: Robin Appelman <robin@icewind.nl>
-rw-r--r-- | tests/lib/Files/Storage/LocalTest.php | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/lib/Files/Storage/LocalTest.php b/tests/lib/Files/Storage/LocalTest.php index efe5dd04e47..de71d81c7b4 100644 --- a/tests/lib/Files/Storage/LocalTest.php +++ b/tests/lib/Files/Storage/LocalTest.php @@ -7,6 +7,8 @@ namespace Test\Files\Storage; +use OC\Files\Storage\Wrapper\Jail; + /** * Class LocalTest * @@ -135,4 +137,25 @@ class LocalTest extends Storage { // no exception thrown $this->assertNotNull($this->instance); } + + public function testMoveNestedJail(): void { + $this->instance->mkdir('foo'); + $this->instance->mkdir('foo/bar'); + $this->instance->mkdir('target'); + $this->instance->file_put_contents('foo/bar/file.txt', 'foo'); + $jail1 = new Jail([ + 'storage' => $this->instance, + 'root' => 'foo' + ]); + $jail2 = new Jail([ + 'storage' => $jail1, + 'root' => 'bar' + ]); + $jail3 = new Jail([ + 'storage' => $this->instance, + 'root' => 'target' + ]); + $jail3->moveFromStorage($jail2, 'file.txt', 'file.txt'); + $this->assertTrue($this->instance->file_exists('target/file.txt')); + } } |