diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2016-05-20 15:38:20 +0200 |
---|---|---|
committer | Thomas Müller <DeepDiver1975@users.noreply.github.com> | 2016-05-20 15:38:20 +0200 |
commit | 94ad54ec9b96d41a614fbbad4a97b34c41a6901f (patch) | |
tree | f3eb7cdda2704aaf0cd59d58efe66bcbd34cb67d /tests/lib/tempmanager.php | |
parent | 2ef751b1ec28f7b5c7113af60ec8c9fa0ae1cf87 (diff) | |
download | nextcloud-server-94ad54ec9b96d41a614fbbad4a97b34c41a6901f.tar.gz nextcloud-server-94ad54ec9b96d41a614fbbad4a97b34c41a6901f.zip |
Move tests/ to PSR-4 (#24731)
* Move a-b to PSR-4
* Move c-d to PSR-4
* Move e+g to PSR-4
* Move h-l to PSR-4
* Move m-r to PSR-4
* Move s-u to PSR-4
* Move files/ to PSR-4
* Move remaining tests to PSR-4
* Remove Test\ from old autoloader
Diffstat (limited to 'tests/lib/tempmanager.php')
-rw-r--r-- | tests/lib/tempmanager.php | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/tests/lib/tempmanager.php b/tests/lib/tempmanager.php deleted file mode 100644 index 8faf804a203..00000000000 --- a/tests/lib/tempmanager.php +++ /dev/null @@ -1,216 +0,0 @@ -<?php - -/** - * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. - */ - -namespace Test; - -use OC\Log; - -class NullLogger extends Log { - public function __construct($logger = null) { - //disable original constructor - } - - public function log($level, $message, array $context = array()) { - //noop - } -} - -class TempManager extends \Test\TestCase { - - protected $baseDir = null; - - protected function setUp() { - parent::setUp(); - - $this->baseDir = $this->getManager()->getTempBaseDir() . $this->getUniqueID('/oc_tmp_test'); - if (!is_dir($this->baseDir)) { - mkdir($this->baseDir); - } - } - - protected function tearDown() { - \OC_Helper::rmdirr($this->baseDir); - $this->baseDir = null; - parent::tearDown(); - } - - /** - * @param \OCP\ILogger $logger - * @param \OCP\IConfig $config - * @return \OC\TempManager - */ - protected function getManager($logger = null, $config = null) { - if (!$logger) { - $logger = new NullLogger(); - } - if (!$config) { - $config = $this->getMock('\OCP\IConfig'); - $config->method('getSystemValue') - ->with('tempdirectory', null) - ->willReturn('/tmp'); - } - $manager = new \OC\TempManager($logger, $config); - if ($this->baseDir) { - $manager->overrideTempBaseDir($this->baseDir); - } - return $manager; - } - - public function testGetFile() { - $manager = $this->getManager(); - $file = $manager->getTemporaryFile('txt'); - $this->assertStringEndsWith('.txt', $file); - $this->assertTrue(is_file($file)); - $this->assertTrue(is_writable($file)); - - file_put_contents($file, 'bar'); - $this->assertEquals('bar', file_get_contents($file)); - } - - public function testGetFolder() { - $manager = $this->getManager(); - $folder = $manager->getTemporaryFolder(); - $this->assertStringEndsWith('/', $folder); - $this->assertTrue(is_dir($folder)); - $this->assertTrue(is_writable($folder)); - - file_put_contents($folder . 'foo.txt', 'bar'); - $this->assertEquals('bar', file_get_contents($folder . 'foo.txt')); - } - - public function testCleanFiles() { - $manager = $this->getManager(); - $file1 = $manager->getTemporaryFile('txt'); - $file2 = $manager->getTemporaryFile('txt'); - $this->assertTrue(file_exists($file1)); - $this->assertTrue(file_exists($file2)); - - $manager->clean(); - - $this->assertFalse(file_exists($file1)); - $this->assertFalse(file_exists($file2)); - } - - public function testCleanFolder() { - $manager = $this->getManager(); - $folder1 = $manager->getTemporaryFolder(); - $folder2 = $manager->getTemporaryFolder(); - touch($folder1 . 'foo.txt'); - touch($folder1 . 'bar.txt'); - $this->assertTrue(file_exists($folder1)); - $this->assertTrue(file_exists($folder2)); - $this->assertTrue(file_exists($folder1 . 'foo.txt')); - $this->assertTrue(file_exists($folder1 . 'bar.txt')); - - $manager->clean(); - - $this->assertFalse(file_exists($folder1)); - $this->assertFalse(file_exists($folder2)); - $this->assertFalse(file_exists($folder1 . 'foo.txt')); - $this->assertFalse(file_exists($folder1 . 'bar.txt')); - } - - public function testCleanOld() { - $manager = $this->getManager(); - $oldFile = $manager->getTemporaryFile('txt'); - $newFile = $manager->getTemporaryFile('txt'); - $folder = $manager->getTemporaryFolder(); - $nonOcFile = $this->baseDir . '/foo.txt'; - file_put_contents($nonOcFile, 'bar'); - - $past = time() - 2 * 3600; - touch($oldFile, $past); - touch($folder, $past); - touch($nonOcFile, $past); - - $manager2 = $this->getManager(); - $manager2->cleanOld(); - $this->assertFalse(file_exists($oldFile)); - $this->assertFalse(file_exists($folder)); - $this->assertTrue(file_exists($nonOcFile)); - $this->assertTrue(file_exists($newFile)); - } - - public function testLogCantCreateFile() { - if (\OC_Util::runningOnWindows()) { - $this->markTestSkipped('[Windows] chmod() does not work as intended on Windows.'); - } - - $logger = $this->getMock('\Test\NullLogger'); - $manager = $this->getManager($logger); - chmod($this->baseDir, 0500); - $logger->expects($this->once()) - ->method('warning') - ->with($this->stringContains('Can not create a temporary file in directory')); - $this->assertFalse($manager->getTemporaryFile('txt')); - } - - public function testLogCantCreateFolder() { - if (\OC_Util::runningOnWindows()) { - $this->markTestSkipped('[Windows] chmod() does not work as intended on Windows.'); - } - - $logger = $this->getMock('\Test\NullLogger'); - $manager = $this->getManager($logger); - chmod($this->baseDir, 0500); - $logger->expects($this->once()) - ->method('warning') - ->with($this->stringContains('Can not create a temporary folder in directory')); - $this->assertFalse($manager->getTemporaryFolder()); - } - - public function testBuildFileNameWithPostfix() { - $logger = $this->getMock('\Test\NullLogger'); - $tmpManager = self::invokePrivate( - $this->getManager($logger), - 'buildFileNameWithSuffix', - ['/tmp/myTemporaryFile', 'postfix'] - ); - - $this->assertEquals('/tmp/myTemporaryFile-.postfix', $tmpManager); - } - - public function testBuildFileNameWithoutPostfix() { - $logger = $this->getMock('\Test\NullLogger'); - $tmpManager = self::invokePrivate( - $this->getManager($logger), - 'buildFileNameWithSuffix', - ['/tmp/myTemporaryFile', ''] - ); - - $this->assertEquals('/tmp/myTemporaryFile', $tmpManager); - } - - public function testBuildFileNameWithSuffixPathTraversal() { - $logger = $this->getMock('\Test\NullLogger'); - $tmpManager = self::invokePrivate( - $this->getManager($logger), - 'buildFileNameWithSuffix', - ['foo', '../Traversal\\../FileName'] - ); - - $this->assertStringEndsNotWith('./Traversal\\../FileName', $tmpManager); - $this->assertStringEndsWith('.Traversal..FileName', $tmpManager); - } - - public function testGetTempBaseDirFromConfig() { - $dir = $this->getManager()->getTemporaryFolder(); - - $config = $this->getMock('\OCP\IConfig'); - $config->expects($this->once()) - ->method('getSystemValue') - ->with('tempdirectory', null) - ->willReturn($dir); - - $this->baseDir = null; // prevent override - $tmpManager = $this->getManager(null, $config); - - $this->assertEquals($dir, $tmpManager->getTempBaseDir()); - } -} |