* [misc] Enhance unit tests for fileModel::saveAsTempFile() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -46,6 +46,21 @@ class fileTest
|
||||
return $object;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test saveAsTempFile method.
|
||||
*
|
||||
* @param object $file
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function saveAsTempFileTest($file)
|
||||
{
|
||||
$result = $this->objectModel->saveAsTempFile($file);
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get info of uploaded files.
|
||||
*
|
||||
|
||||
Regular → Executable
+32
-13
@@ -4,27 +4,46 @@
|
||||
/**
|
||||
|
||||
title=测试 fileModel->saveAsTempFile();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 传入空对象。 @0
|
||||
- 检查文件路径。 @1
|
||||
- 文件储存类型为s3。 @0
|
||||
- 测试传入空realPath的文件对象 @
|
||||
- 测试fs存储类型下的有效文件路径 @/tmp/test.txt
|
||||
- 测试s3存储类型下的文件处理 @
|
||||
- 测试空字符串realPath的处理 @
|
||||
- 测试其他存储类型下的文件处理 @
|
||||
|
||||
*/
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/file.unittest.class.php';
|
||||
|
||||
su('admin');
|
||||
|
||||
$downloadFile = dirname(__FILE__) . '/download.txt';
|
||||
$fileTest = new fileTest();
|
||||
|
||||
$file = new stdclass();
|
||||
$file->realPath = $downloadFile;
|
||||
// 创建测试文件对象
|
||||
$validFile = new stdclass();
|
||||
$validFile->realPath = '/tmp/test.txt';
|
||||
|
||||
global $tester;
|
||||
$fileModel = $tester->loadModel('file');
|
||||
$fileModel->config->file->storageType = 'fs';
|
||||
$emptyFile = new stdclass();
|
||||
|
||||
r($fileModel->saveAsTempFile(new stdclass())) && p() && e('0'); //传入空对象。
|
||||
r($fileModel->saveAsTempFile($file) == $downloadFile) && p() && e('1'); //检查文件路径。
|
||||
$nullPathFile = new stdclass();
|
||||
$nullPathFile->realPath = '';
|
||||
|
||||
$fileModel->config->file->storageType = 's3';
|
||||
r($fileModel->saveAsTempFile($file)) && p() && e('0'); //文件储存类型为s3。
|
||||
// 设置文件存储类型为fs
|
||||
$fileTest->objectModel->config->file->storageType = 'fs';
|
||||
|
||||
r($fileTest->saveAsTempFileTest($emptyFile)) && p() && e(''); // 测试传入空realPath的文件对象
|
||||
r($fileTest->saveAsTempFileTest($validFile)) && p() && e('/tmp/test.txt'); // 测试fs存储类型下的有效文件路径
|
||||
|
||||
// 设置文件存储类型为s3
|
||||
$fileTest->objectModel->config->file->storageType = 's3';
|
||||
r($fileTest->saveAsTempFileTest($validFile)) && p() && e(''); // 测试s3存储类型下的文件处理
|
||||
|
||||
// 重新设置为fs进行更多测试
|
||||
$fileTest->objectModel->config->file->storageType = 'fs';
|
||||
r($fileTest->saveAsTempFileTest($nullPathFile)) && p() && e(''); // 测试空字符串realPath的处理
|
||||
|
||||
// 测试其他存储类型
|
||||
$fileTest->objectModel->config->file->storageType = 'oss';
|
||||
r($fileTest->saveAsTempFileTest($validFile)) && p() && e(''); // 测试其他存储类型下的文件处理
|
||||
Reference in New Issue
Block a user