diff options
author | Lukas Reschke <lukas@owncloud.com> | 2015-04-25 23:18:26 +0200 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2015-04-25 23:18:26 +0200 |
commit | 4dfdaf741c27412fcefb911e9706bef679d9234c (patch) | |
tree | f5b6ef65b0c0ba998cc37a491ae38057e0ff72a7 /tests | |
parent | 785517487952aaa75899ab496065449b72a7c305 (diff) | |
parent | 155ae44bc678331f4101b034ba4c64b001fde19d (diff) | |
download | nextcloud-server-4dfdaf741c27412fcefb911e9706bef679d9234c.tar.gz nextcloud-server-4dfdaf741c27412fcefb911e9706bef679d9234c.zip |
Merge pull request #15834 from owncloud/make-temporary-file-really-unique
Fix collision on temporary files + adjust permissions
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/tempmanager.php | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/tests/lib/tempmanager.php b/tests/lib/tempmanager.php index 9bedd7c401b..72741d0dec6 100644 --- a/tests/lib/tempmanager.php +++ b/tests/lib/tempmanager.php @@ -152,16 +152,37 @@ class TempManager extends \Test\TestCase { $this->assertFalse($manager->getTemporaryFolder()); } - public function testGeneratePathTraversal() { + public function testBuildFileNameWithPostfix() { $logger = $this->getMock('\Test\NullLogger'); $tmpManager = \Test_Helper::invokePrivate( $this->getManager($logger), - 'generatePath', - ['../Traversal\\../FileName'] + 'buildFileNameWithSuffix', + ['/tmp/myTemporaryFile', 'postfix'] + ); + + $this->assertEquals('/tmp/myTemporaryFile-.postfix', $tmpManager); + } + + public function testBuildFileNameWithoutPostfix() { + $logger = $this->getMock('\Test\NullLogger'); + $tmpManager = \Test_Helper::invokePrivate( + $this->getManager($logger), + 'buildFileNameWithSuffix', + ['/tmp/myTemporaryFile', ''] + ); + + $this->assertEquals('/tmp/myTemporaryFile', $tmpManager); + } + + public function testBuildFileNameWithSuffixPathTraversal() { + $logger = $this->getMock('\Test\NullLogger'); + $tmpManager = \Test_Helper::invokePrivate( + $this->getManager($logger), + 'buildFileNameWithSuffix', + ['foo', '../Traversal\\../FileName'] ); $this->assertStringEndsNotWith('./Traversal\\../FileName', $tmpManager); $this->assertStringEndsWith('.Traversal..FileName', $tmpManager); - } } |