summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2015-04-25 23:18:26 +0200
committerLukas Reschke <lukas@owncloud.com>2015-04-25 23:18:26 +0200
commit4dfdaf741c27412fcefb911e9706bef679d9234c (patch)
treef5b6ef65b0c0ba998cc37a491ae38057e0ff72a7 /tests
parent785517487952aaa75899ab496065449b72a7c305 (diff)
parent155ae44bc678331f4101b034ba4c64b001fde19d (diff)
downloadnextcloud-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.php29
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);
-
}
}