From fb9ef220fc0900a84ee5c36184a9cea1aae65876 Mon Sep 17 00:00:00 2001 From: liumengyi Date: Fri, 6 May 2022 17:07:55 +0800 Subject: [PATCH] * Add unit test of file. --- test/class/file.class.php | 413 ++++++++++++++++++++++ test/model/file/compressimage.php | 61 ++++ test/model/file/getbyid.php | 31 ++ test/model/file/getbyobject.php | 34 ++ test/model/file/getcount.php | 55 +++ test/model/file/getextension.php | 40 +++ test/model/file/getpairs.php | 39 ++ test/model/file/getpathofimportedfile.php | 19 + test/model/file/getrealpathname.php | 29 ++ test/model/file/getsavename.php | 29 ++ test/model/file/getupload.php | 57 +++ test/model/file/getuploadfile.php | 69 ++++ test/model/file/setsavepath.php | 19 + test/model/file/setwebpath.php | 19 + test/model/file/updateobjectid.php | 37 ++ test/ztest | 3 + 16 files changed, 954 insertions(+) create mode 100644 test/class/file.class.php create mode 100755 test/model/file/compressimage.php create mode 100755 test/model/file/getbyid.php create mode 100755 test/model/file/getbyobject.php create mode 100755 test/model/file/getcount.php create mode 100755 test/model/file/getextension.php create mode 100755 test/model/file/getpairs.php create mode 100755 test/model/file/getpathofimportedfile.php create mode 100755 test/model/file/getrealpathname.php create mode 100755 test/model/file/getsavename.php create mode 100755 test/model/file/getupload.php create mode 100755 test/model/file/getuploadfile.php create mode 100755 test/model/file/setsavepath.php create mode 100755 test/model/file/setwebpath.php create mode 100755 test/model/file/updateobjectid.php diff --git a/test/class/file.class.php b/test/class/file.class.php new file mode 100644 index 0000000000..eb14b4b384 --- /dev/null +++ b/test/class/file.class.php @@ -0,0 +1,413 @@ +objectModel = $tester->loadModel('file'); + } + + public function __constructTest() + { + $objects = $this->objectModel->construct(); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test get files of an object. + * + * @param string $objectType + * @param int $objectID + * @param string $extra + * @access public + * @return array + */ + public function getByObjectTest($objectType, $objectID, $extra = '') + { + $objects = $this->objectModel->getByObject($objectType, $objectID, $extra = ''); + foreach($objects as $object) + { + if(isset($object->webPath)) $object->webPath = substr($object->webPath, strpos($object->webPath, '/data/upload')); + } + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test get info of a file. + * + * @param int $fileID + * @access public + * @return object + */ + public function getByIdTest($fileID) + { + $object = $this->objectModel->getById($fileID); + if(isset($object->webPath)) $object->webPath = substr($object->webPath, strpos($object->webPath, '/data/upload')); + + if(dao::isError()) return dao::getError(); + + return $object; + } + + public function saveUploadTest($objectType = '', $objectID = '', $extra = '', $filesName = 'files', $labelsName = 'labels') + { + $objects = $this->objectModel->saveUpload($objectType = '', $objectID = '', $extra = '', $filesName = 'files', $labelsName = 'labels'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test get counts of uploaded files. + * + * @param array $files + * @param array $labels + * @access public + * @return int + */ + public function getCountTest($files, $labels) + { + $_FILES['files'] = $files; + $_POST['labels'] = $labels; + + $count = $this->objectModel->getCount(); + + unset($_FILES['files']); + unset($_POST['labels']); + + if(dao::isError()) return dao::getError(); + + return $count; + } + + /** + * Test get info of uploaded files. + * + * @param array $files + * @param array $labels + * @access public + * @return array + */ + public function getUploadTest($files, $labels) + { + $_FILES['files'] = $files; + $_POST['labels'] = $labels; + + $objects = $this->objectModel->getUpload($htmlTagName = 'files', $labelsName = 'labels'); + + unset($_FILES['files']); + unset($_POST['labels']); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test get uploaded file from zui.uploader. + * + * @param array $image + * @param array $files + * @access public + * @return object + */ + public function getUploadFileTest($image, $files) + { + $_FILES['file'] = $files; + + foreach($image as $key => $value) $_POST[$key] = $value; + + $object = $this->objectModel->getUploadFile($htmlTagName = 'file'); + + unset($_POST); + unset($_FILES['file']); + + if(dao::isError()) return dao::getError(); + + return $object; + } + + public function saveUploadFileTest($file, $uid) + { + $objects = $this->objectModel->saveUploadFile($file, $uid); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test get extension of a file. + * + * @param string $filename + * @access public + * @return string + */ + public function getExtensionTest($filename) + { + $string = $this->objectModel->getExtension($filename); + + if(dao::isError()) return dao::getError(); + + return $string; + } + + public function getSaveNameTest($pathName) + { + $objects = $this->objectModel->getSaveName($pathName); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test get real path name. + * + * @param string $pathName + * @access public + * @return string + */ + public function getRealPathNameTest($pathName) + { + $realpath = $this->objectModel->getRealPathName($pathName); + + if(dao::isError()) return dao::getError(); + + return $realpath; + } + + public function getExportTemplateTest($module) + { + $objects = $this->objectModel->getExportTemplate($module); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test get tmp import path. + * + * @access public + * @return string + */ + public function getPathOfImportedFileTest() + { + $path = $this->objectModel->getPathOfImportedFile(); + $path = substr($path, strpos($path, 'tmp')); + + if(dao::isError()) return dao::getError(); + + return $path; + } + + public function saveExportTemplateTest($module) + { + $objects = $this->objectModel->saveExportTemplate($module); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function setPathNameTest($fileID, $extension) + { + $objects = $this->objectModel->setPathName($fileID, $extension); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test set save path. + * + * @access public + * @return string + */ + public function setSavePathTest() + { + $this->objectModel->setSavePath(); + + if(dao::isError()) return dao::getError(); + + global $tester; + $path = substr($tester->file->savePath, strpos($tester->file->savePath, '/www/')); + return $path; + } + + /** + * Test set the web path of upload files. + * + * @access public + * @return string + */ + public function setWebPathTest() + { + $this->objectModel->setWebPath(); + + + if(dao::isError()) return dao::getError(); + + global $tester; + $path = substr($tester->file->webPath, strpos($tester->file->webPath, '/test/model/')); + return $path; + } + + public function setImgSizeTest($content, $maxSize = 0) + { + $objects = $this->objectModel->setImgSize($content, $maxSize = 0); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function replaceFileTest($fileID, $postName = 'upFile') + { + $objects = $this->objectModel->replaceFile($fileID, $postName = 'upFile'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function cropImageTest($rawImage, $target, $x, $y, $width, $height, $resizeWidth = 0, $resizeHeight = 0) + { + $objects = $this->objectModel->cropImage($rawImage, $target, $x, $y, $width, $height, $resizeWidth = 0, $resizeHeight = 0); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function pasteImageTest($data, $uid = '', $safe = false) + { + $objects = $this->objectModel->pasteImage($data, $uid = '', $safe = false); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function parseCSVTest($fileName) + { + $objects = $this->objectModel->parseCSV($fileName); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function processImgURLTest($data, $editorList, $uid = '') + { + $objects = $this->objectModel->processImgURL($data, $editorList, $uid = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test compress image. + * + * @param object $file + * @access public + * @return object + */ + public function compressImageTest($file) + { + $object = $this->objectModel->compressImage($file); + + if(dao::isError()) return dao::getError(); + + return $object; + } + + public function imagecreatefrombmpTest($filename) + { + $objects = $this->objectModel->imagecreatefrombmp($filename); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test update objectID. + * + * @param int $uid + * @param int $objectID + * @param string $objectType + * @param array $albums + * @access public + * @return array + */ + public function updateObjectIDTest($uid, $objectID, $objectType, $albums) + { + $_SESSION['album'] = $albums; + + $this->objectModel->updateObjectID($uid, $objectID, $objectType); + + unset($_SESSION['album']); + + global $tester; + $objects = $tester->dao->select('*')->from(TABLE_FILE)->where('id')->in($albums['used'][$uid])->fetchAll('id'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function replaceImgURLTest($data, $fields) + { + $objects = $this->objectModel->replaceImgURL($data, $fields); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function sendDownHeaderTest($fileName, $fileType, $content, $type = 'content') + { + $objects = $this->objectModel->sendDownHeader($fileName, $fileType, $content, $type = 'content'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getImageSizeTest($file) + { + $objects = $this->objectModel->getImageSize($file); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test get file pairs. + * + * @param array $IDs + * @param string $value + * @access public + * @return array + */ + public function getPairsTest($IDs, $value = 'title') + { + $objects = $this->objectModel->getPairs($IDs, $value); + + if(dao::isError()) return dao::getError(); + + return $objects; + } +} diff --git a/test/model/file/compressimage.php b/test/model/file/compressimage.php new file mode 100755 index 0000000000..e2edf4570e --- /dev/null +++ b/test/model/file/compressimage.php @@ -0,0 +1,61 @@ +#!/usr/bin/env php +compressImage(); +cid=1 +pid=1 + +测试上传 png 文件 >> png,file.png,2038 +测试上传 jpg 文件 >> jpg,file.jpg,1888573 +测试上传 wri 文件 >> wri,这是一个文件名称6.wri,38624 +测试上传 pdf 文件 >> pdf,这是一个文件名称7.pdf,25964 +测试上传 ppt 文件 >> ppt,这是一个文件名称8.ppt,37248 + +*/ +$pngFile = new stdclass(); +$pngFile->extension = 'png'; +$pngFile->pathname = '202205/06094008030126kf.png'; +$pngFile->title = 'file.png'; +$pngFile->size = '2038'; +$pngFile->tmpname = '/tmp/php4dtXN0'; + +$jpgFile = new stdclass(); +$jpgFile->extension = 'jpg'; +$jpgFile->pathname = '202205/0609531806661fhm.jpg'; +$jpgFile->title = 'file.jpg'; +$jpgFile->size = '1888573'; +$jpgFile->tmpname = '/tmp/phpt5IxrF'; + +$wriFile = new stdclass(); +$wriFile->extension = 'wri'; +$wriFile->pathname = '202006/0414225006610006.wri'; +$wriFile->title = '这是一个文件名称6.wri'; +$wriFile->size = '38624'; +$wriFile->tmpname = '/tmp/php34948'; + +$pdfFile = new stdclass(); +$pdfFile->extension = 'pdf'; +$pdfFile->pathname = '202007/0414225006610007.pdf'; +$pdfFile->title = '这是一个文件名称7.pdf'; +$pdfFile->size = '25964'; +$pdfFile->tmpname = '/tmp/php4h2k3'; + +$pptFile = new stdclass(); +$pptFile->extension = 'ppt'; +$pptFile->pathname = '202008/0414225006610008.ppt'; +$pptFile->title = '这是一个文件名称8.ppt'; +$pptFile->size = '37248'; +$pptFile->tmpname = '/tmp/php7bhfki'; + +$file = new fileTest(); + +r($file->compressImageTest($pngFile)) && p('extension,title,size') && e('png,file.png,2038'); // 测试上传 png 文件 +r($file->compressImageTest($jpgFile)) && p('extension,title,size') && e('jpg,file.jpg,1888573'); // 测试上传 jpg 文件 +r($file->compressImageTest($wriFile)) && p('extension,title,size') && e('wri,这是一个文件名称6.wri,38624'); // 测试上传 wri 文件 +r($file->compressImageTest($pdfFile)) && p('extension,title,size') && e('pdf,这是一个文件名称7.pdf,25964'); // 测试上传 pdf 文件 +r($file->compressImageTest($pptFile)) && p('extension,title,size') && e('ppt,这是一个文件名称8.ppt,37248'); // 测试上传 ppt 文件 \ No newline at end of file diff --git a/test/model/file/getbyid.php b/test/model/file/getbyid.php new file mode 100755 index 0000000000..25158fd29d --- /dev/null +++ b/test/model/file/getbyid.php @@ -0,0 +1,31 @@ +#!/usr/bin/env php +getById(); +cid=1 +pid=1 + +测试查询 fileID 1 的信息 >> 这是一个文件名称1.txt,txt,task,1,/data/upload/1/202001/0414225006610001 +测试查询 fileID 2 的信息 >> 这是一个文件名称2.doc,doc,bug,2,/data/upload/1/202002/0414225006610002 +测试查询 fileID 11 的信息 >> 这是一个文件名称11.xlsx,xlsx,traincourse,11,data/course/202002/0414225006610011.xlsx +测试查询 fileID 24 的信息 >> 这是一个文件名称24.avi,avi,traincontents,24,data/course/202006/0414225006610024.avi +测试查询 fileID 81 的信息 >> 这是一个文件名称81.tar,tar,story,81,/data/upload/1/202009/0414225006610081 +测试查询 fileID 101 的信息 >> 0 + +*/ + +$fileID = array(1, 2, 11, 24, 81, 101); + +$file = new fileTest(); + +r($file->getByIdTest($fileID[0])) && p('title,extension,objectType,objectID,webPath') && e('这是一个文件名称1.txt,txt,task,1,/data/upload/1/202001/0414225006610001'); // 测试查询 fileID 1 的信息 +r($file->getByIdTest($fileID[1])) && p('title,extension,objectType,objectID,webPath') && e('这是一个文件名称2.doc,doc,bug,2,/data/upload/1/202002/0414225006610002'); // 测试查询 fileID 2 的信息 +r($file->getByIdTest($fileID[2])) && p('title,extension,objectType,objectID,webPath') && e('这是一个文件名称11.xlsx,xlsx,traincourse,11,data/course/202002/0414225006610011.xlsx'); // 测试查询 fileID 11 的信息 +r($file->getByIdTest($fileID[3])) && p('title,extension,objectType,objectID,webPath') && e('这是一个文件名称24.avi,avi,traincontents,24,data/course/202006/0414225006610024.avi'); // 测试查询 fileID 24 的信息 +r($file->getByIdTest($fileID[4])) && p('title,extension,objectType,objectID,webPath') && e('这是一个文件名称81.tar,tar,story,81,/data/upload/1/202009/0414225006610081'); // 测试查询 fileID 81 的信息 +r($file->getByIdTest($fileID[5])) && p('title,extension,objectType,objectID,webPath') && e('0'); // 测试查询 fileID 101 的信息 \ No newline at end of file diff --git a/test/model/file/getbyobject.php b/test/model/file/getbyobject.php new file mode 100755 index 0000000000..b00e10d432 --- /dev/null +++ b/test/model/file/getbyobject.php @@ -0,0 +1,34 @@ +#!/usr/bin/env php +getByObject(); +cid=1 +pid=1 + +获取 traincourse id 5 的文件 >> 这是一个文件名称5.wps,wps,traincourse,5,data/course/202005/0414225006610005.wps +获取 traincontents id 6 的文件 >> 这是一个文件名称6.wri,wri,traincontents,6,data/course/202006/0414225006610006.wri +获取 task id 7 的文件 >> 这是一个文件名称7.pdf,pdf,task,7,/data/upload/1/202007/0414225006610007 +获取 bug id 8 的文件 >> 这是一个文件名称8.ppt,ppt,bug,8,/data/upload/1/202008/0414225006610008 +获取 story id 9 的文件 >> 这是一个文件名称9.pptx,pptx,story,9,/data/upload/1/202009/0414225006610009 +获取 testcase id 10 的文件 >> 这是一个文件名称10.xls,xls,testcase,10,/data/upload/1/202001/0414225006610010 +获取 testcase id 5 的文件 >> 0 + +*/ +$objectType = array('traincourse', 'traincontents', 'task', 'bug', 'story', 'testcase'); +$objectID = array(5, 6, 7, 8, 9, 10); +$extra = 0; + +$file = new fileTest(); + +r($file->getByObjectTest($objectType[0], $objectID[0])) && p('5:title,extension,objectType,objectID,webPath') && e('这是一个文件名称5.wps,wps,traincourse,5,data/course/202005/0414225006610005.wps'); // 获取 traincourse id 5 的文件 +r($file->getByObjectTest($objectType[1], $objectID[1])) && p('6:title,extension,objectType,objectID,webPath') && e('这是一个文件名称6.wri,wri,traincontents,6,data/course/202006/0414225006610006.wri'); // 获取 traincontents id 6 的文件 +r($file->getByObjectTest($objectType[2], $objectID[2])) && p('7:title,extension,objectType,objectID,webPath') && e('这是一个文件名称7.pdf,pdf,task,7,/data/upload/1/202007/0414225006610007'); // 获取 task id 7 的文件 +r($file->getByObjectTest($objectType[3], $objectID[3])) && p('8:title,extension,objectType,objectID,webPath') && e('这是一个文件名称8.ppt,ppt,bug,8,/data/upload/1/202008/0414225006610008'); // 获取 bug id 8 的文件 +r($file->getByObjectTest($objectType[4], $objectID[4])) && p('9:title,extension,objectType,objectID,webPath') && e('这是一个文件名称9.pptx,pptx,story,9,/data/upload/1/202009/0414225006610009'); // 获取 story id 9 的文件 +r($file->getByObjectTest($objectType[5], $objectID[5])) && p('10:title,extension,objectType,objectID,webPath') && e('这是一个文件名称10.xls,xls,testcase,10,/data/upload/1/202001/0414225006610010'); // 获取 testcase id 10 的文件 +r($file->getByObjectTest($objectType[5], $objectID[0])) && p() && e('0'); // 获取 testcase id 5 的文件 \ No newline at end of file diff --git a/test/model/file/getcount.php b/test/model/file/getcount.php new file mode 100755 index 0000000000..591e86224a --- /dev/null +++ b/test/model/file/getcount.php @@ -0,0 +1,55 @@ +#!/usr/bin/env php +getCount(); +cid=1 +pid=1 + +测试 获取files 的个数 1 >> 2 +测试 获取files 的个数 2 >> 4 +测试 获取files 的个数 3 >> 5 +测试 获取files 的个数 4 >> 7 +测试 获取files 的个数 5 >> 10 + +*/ +$file = new fileTest(); + +$fileNames = array('file1.jpg', 'file2.txt'); +$fileSizes = array(1888573, 2384); +$fileTmpName = array('/tmp/phpus8Ebc', '/tmp/phpwNzwuS'); +$files = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels = array('file1.jpg', 'file2.txt'); +r($file->getCountTest($files, $labels)) && p() && e('2'); // 测试 获取files 的个数 1 + +$fileNames = array_merge($fileNames, array('file3.ppt', 'file4.mp4')); +$fileSizes = array_merge($fileSizes, array(2893, 34789)); +$fileTmpName = array_merge($fileTmpName, array('/tmp/phpu2elbc', '/tmp/phpwje9uS')); +$files = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels = array_merge($labels, array('file3.ppt', 'file4.mp4')); +r($file->getCountTest($files, $labels)) && p() && e('4'); // 测试 获取files 的个数 2 + +$fileNames = array_merge($fileNames, array('file5.pptx')); +$fileSizes = array_merge($fileSizes, array(28789)); +$fileTmpName = array_merge($fileTmpName, array('/tmp/phpu2e9uS')); +$files = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels = array_merge($labels, array('file5.pptx')); +r($file->getCountTest($files, $labels)) && p() && e('5'); // 测试 获取files 的个数 3 + +$fileNames = array_merge($fileNames, array('file6.ppt', 'file7.mp4')); +$fileSizes = array_merge($fileSizes, array(893, 23089)); +$fileTmpName = array_merge($fileTmpName, array('/tmp/phpu2elbc', '/tmp/phpwje9uS')); +$files = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels = array_merge($labels, array('file6.ppt', 'file7.mp4')); +r($file->getCountTest($files, $labels)) && p() && e('7'); // 测试 获取files 的个数 4 + +$fileNames = array_merge($fileNames, array('file9.ppt', 'file10.mp4', 'file11.wri')); +$fileSizes = array_merge($fileSizes, array(2893, 389, 293838)); +$fileTmpName = array_merge($fileTmpName, array('/tmp/phpu2ssbc', '/tmp/phpe0e9uS', '/tmp/phpjf93jf9')); +$files = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels = array_merge($labels, array('file9.ppt', 'file10.mp4', 'file11.wri')); +r($file->getCountTest($files, $labels)) && p() && e('10'); // 测试 获取files 的个数 5 \ No newline at end of file diff --git a/test/model/file/getextension.php b/test/model/file/getextension.php new file mode 100755 index 0000000000..aa60a6e2ca --- /dev/null +++ b/test/model/file/getextension.php @@ -0,0 +1,40 @@ +#!/usr/bin/env php +getExtension(); +cid=1 +pid=1 + +获取 1.xlsm 的扩展名 >> xlsm +获取 2.jpg 的扩展名 >> jpg +获取 3.ppt 的扩展名 >> txt +获取 4.txt 的扩展名 >> mp4 +获取 5.zip 的扩展名 >> zip +获取 1.php 的扩展名 >> txt +获取 2.phtml 的扩展名 >> txt +获取 3.jsp 的扩展名 >> txt +获取 4.py 的扩展名 >> txt +获取 5.abc 的扩展名 >> txt + +*/ + +$fileNames = array('1.xlsm', '2.jpg', '3.txt', '4.mp4::mp4', '5.zip::zip'); +$errorFileNames = array('1.php', '2.phtml', '3.jsp', '4.py', '5.abc'); + +$file = new fileTest(); + +r($file->getExtensionTest($fileNames[0])) && p() && e('xlsm'); // 获取 1.xlsm 的扩展名 +r($file->getExtensionTest($fileNames[1])) && p() && e('jpg'); // 获取 2.jpg 的扩展名 +r($file->getExtensionTest($fileNames[2])) && p() && e('txt'); // 获取 3.ppt 的扩展名 +r($file->getExtensionTest($fileNames[3])) && p() && e('mp4'); // 获取 4.txt 的扩展名 +r($file->getExtensionTest($fileNames[4])) && p() && e('zip'); // 获取 5.zip 的扩展名 +r($file->getExtensionTest($errorFileNames[0])) && p() && e('txt'); // 获取 1.php 的扩展名 +r($file->getExtensionTest($errorFileNames[1])) && p() && e('txt'); // 获取 2.phtml 的扩展名 +r($file->getExtensionTest($errorFileNames[2])) && p() && e('txt'); // 获取 3.jsp 的扩展名 +r($file->getExtensionTest($errorFileNames[3])) && p() && e('txt'); // 获取 4.py 的扩展名 +r($file->getExtensionTest($errorFileNames[4])) && p() && e('txt'); // 获取 5.abc 的扩展名 \ No newline at end of file diff --git a/test/model/file/getpairs.php b/test/model/file/getpairs.php new file mode 100755 index 0000000000..a45929a0b5 --- /dev/null +++ b/test/model/file/getpairs.php @@ -0,0 +1,39 @@ +#!/usr/bin/env php +getPairs(); +cid=1 +pid=1 + +测试获取文件 1 2 3 4 5 的 标题 >> 这是一个文件名称1.txt,这是一个文件名称2.doc,这是一个文件名称3.docx,这是一个文件名称4.dot,这是一个文件名称5.wps +测试获取文件 6 7 8 9 10 的 标题 >> 这是一个文件名称6.wri,这是一个文件名称7.pdf,这是一个文件名称8.ppt,这是一个文件名称9.pptx,这是一个文件名称10.xls +测试获取文件 11 12 13 14 15 的 标题 >> 这是一个文件名称11.xlsx,这是一个文件名称12.ett,这是一个文件名称13.xlt,这是一个文件名称14.xlsm,这是一个文件名称15.csv +测试获取文件 16 17 18 19 20 的 标题 >> 这是一个文件名称16.jpg,这是一个文件名称17.jpeg,这是一个文件名称18.png,这是一个文件名称19.psd,这是一个文件名称20.gif +测试获取文件 21 22 23 24 25 的 标题 >> 这是一个文件名称21.ico,这是一个文件名称22.bmp,这是一个文件名称23.swf,这是一个文件名称24.avi,这是一个文件名称25.rmvb +测试获取文件 1 2 3 4 5 的 扩展名 >> txt,doc,docx,dot,wps +测试获取文件 6 7 8 9 10 的 扩展名 >> wri,pdf,ppt,pptx,xls +测试获取文件 11 12 13 14 15 的 扩展名 >> xlsx,ett,xlt,xlsm,csv +测试获取文件 16 17 18 19 20 的 扩展名 >> jpg,jpeg,png,psd,gif +测试获取文件 21 22 23 24 25 的 扩展名 >> ico,bmp,swf,avi,rmvb + +*/ +$fileIDs = array('1,2,3,4,5', '6,7,8,9,10', '11,12,13,14,15', '16,17,18,19,20', '21,22,23,24,25'); +$titles = array('title', 'extension'); + +$file = new fileTest(); + +r($file->getPairsTest($fileIDs[0], $titles[0])) && p('1,2,3,4,5') && e('这是一个文件名称1.txt,这是一个文件名称2.doc,这是一个文件名称3.docx,这是一个文件名称4.dot,这是一个文件名称5.wps'); // 测试获取文件 1 2 3 4 5 的 标题 +r($file->getPairsTest($fileIDs[1], $titles[0])) && p('6,7,8,9,10') && e('这是一个文件名称6.wri,这是一个文件名称7.pdf,这是一个文件名称8.ppt,这是一个文件名称9.pptx,这是一个文件名称10.xls'); // 测试获取文件 6 7 8 9 10 的 标题 +r($file->getPairsTest($fileIDs[2], $titles[0])) && p('11,12,13,14,15') && e('这是一个文件名称11.xlsx,这是一个文件名称12.ett,这是一个文件名称13.xlt,这是一个文件名称14.xlsm,这是一个文件名称15.csv'); // 测试获取文件 11 12 13 14 15 的 标题 +r($file->getPairsTest($fileIDs[3], $titles[0])) && p('16,17,18,19,20') && e('这是一个文件名称16.jpg,这是一个文件名称17.jpeg,这是一个文件名称18.png,这是一个文件名称19.psd,这是一个文件名称20.gif'); // 测试获取文件 16 17 18 19 20 的 标题 +r($file->getPairsTest($fileIDs[4], $titles[0])) && p('21,22,23,24,25') && e('这是一个文件名称21.ico,这是一个文件名称22.bmp,这是一个文件名称23.swf,这是一个文件名称24.avi,这是一个文件名称25.rmvb'); // 测试获取文件 21 22 23 24 25 的 标题 +r($file->getPairsTest($fileIDs[0], $titles[1])) && p('1,2,3,4,5') && e('txt,doc,docx,dot,wps'); // 测试获取文件 1 2 3 4 5 的 扩展名 +r($file->getPairsTest($fileIDs[1], $titles[1])) && p('6,7,8,9,10') && e('wri,pdf,ppt,pptx,xls'); // 测试获取文件 6 7 8 9 10 的 扩展名 +r($file->getPairsTest($fileIDs[2], $titles[1])) && p('11,12,13,14,15') && e('xlsx,ett,xlt,xlsm,csv'); // 测试获取文件 11 12 13 14 15 的 扩展名 +r($file->getPairsTest($fileIDs[3], $titles[1])) && p('16,17,18,19,20') && e('jpg,jpeg,png,psd,gif'); // 测试获取文件 16 17 18 19 20 的 扩展名 +r($file->getPairsTest($fileIDs[4], $titles[1])) && p('21,22,23,24,25') && e('ico,bmp,swf,avi,rmvb'); // 测试获取文件 21 22 23 24 25 的 扩展名 \ No newline at end of file diff --git a/test/model/file/getpathofimportedfile.php b/test/model/file/getpathofimportedfile.php new file mode 100755 index 0000000000..586f3a6373 --- /dev/null +++ b/test/model/file/getpathofimportedfile.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +getPathOfImportedFile(); +cid=1 +pid=1 + +获取导入路径 >> tmp/import + +*/ + +$file = new fileTest(); + +r($file->getPathOfImportedFileTest()) && p() && e('tmp/import'); // 获取导入路径 \ No newline at end of file diff --git a/test/model/file/getrealpathname.php b/test/model/file/getrealpathname.php new file mode 100755 index 0000000000..2f95e047d0 --- /dev/null +++ b/test/model/file/getrealpathname.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +getRealPathName(); +cid=1 +pid=1 + +获取 202205/1.txt 的实际存储路径 >> 202205/1 +获取 202204/2.png 的实际存储路径 >> 202204/2 +获取 202203/3.mp4 的实际存储路径 >> 202203/3 +获取 202202/4.zip 的实际存储路径 >> 202202/4 +获取 202201/5 的实际存储路径 >> 202201/5 + +*/ + +$pathnames = array('202205/1.txt', '202204/2.png', '202203/3.mp4', '202202/4.zip', '202201/5'); + +$file = new fileTest(); + +r($file->getRealPathNameTest($pathnames[0])) && p() && e('202205/1'); // 获取 202205/1.txt 的实际存储路径 +r($file->getRealPathNameTest($pathnames[1])) && p() && e('202204/2'); // 获取 202204/2.png 的实际存储路径 +r($file->getRealPathNameTest($pathnames[2])) && p() && e('202203/3'); // 获取 202203/3.mp4 的实际存储路径 +r($file->getRealPathNameTest($pathnames[3])) && p() && e('202202/4'); // 获取 202202/4.zip 的实际存储路径 +r($file->getRealPathNameTest($pathnames[4])) && p() && e('202201/5'); // 获取 202201/5 的实际存储路径 \ No newline at end of file diff --git a/test/model/file/getsavename.php b/test/model/file/getsavename.php new file mode 100755 index 0000000000..26f340bab0 --- /dev/null +++ b/test/model/file/getsavename.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +getSaveName(); +cid=1 +pid=1 + +获取 202205/1.txt 的实际存储名称 >> 202205/1 +获取 202204/2.png 的实际存储名称 >> 202204/2 +获取 202203/3.mp4 的实际存储名称 >> 202203/3 +获取 202202/4.zip 的实际存储名称 >> 202202/4 +获取 202201/5 的实际存储名称 >> 202201/5 + +*/ + +$pathnames = array('202205/1.txt', '202204/2.png', '202203/3.mp4', '202202/4.zip', '202201/5'); + +$file = new fileTest(); + +r($file->getSaveNameTest($pathnames[0])) && p() && e('202205/1'); // 获取 202205/1.txt 的实际存储名称 +r($file->getSaveNameTest($pathnames[1])) && p() && e('202204/2'); // 获取 202204/2.png 的实际存储名称 +r($file->getSaveNameTest($pathnames[2])) && p() && e('202203/3'); // 获取 202203/3.mp4 的实际存储名称 +r($file->getSaveNameTest($pathnames[3])) && p() && e('202202/4'); // 获取 202202/4.zip 的实际存储名称 +r($file->getSaveNameTest($pathnames[4])) && p() && e('202201/5'); // 获取 202201/5 的实际存储名称 \ No newline at end of file diff --git a/test/model/file/getupload.php b/test/model/file/getupload.php new file mode 100755 index 0000000000..8f8764f89a --- /dev/null +++ b/test/model/file/getupload.php @@ -0,0 +1,57 @@ +#!/usr/bin/env php +getUpload(); +cid=1 +pid=1 + +测试获取上传的文件信息1 >> file1.jpg;file2.txt +测试获取上传的文件信息2 >> file3.ppt;file4.mp4 +测试获取上传的文件信息3 >> file5.pptx +测试获取上传的文件信息4 >> file6.ppt;file7.mp4 +测试获取上传的文件信息5 >> file9.ppt;file10.mp4;file11.wri + +*/ + +$file = new fileTest(); + +$fileNames = array('file1.jpg', 'file2.txt'); +$fileSizes = array(1888573, 2384); +$fileTmpName = array('/tmp/phpus8Ebc', '/tmp/phpwNzwuS'); +$files1 = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels1 = array('file1.jpg', 'file2.txt'); + +$fileNames = array('file3.ppt', 'file4.mp4'); +$fileSizes = array(2893, 34789); +$fileTmpName = array('/tmp/phpu2elbc', '/tmp/phpwje9uS'); +$files2 = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels2 = array('file3.ppt', 'file4.mp4'); + +$fileNames = array('file5.pptx'); +$fileSizes = array(28789); +$fileTmpName = array('/tmp/phpu2e9uS'); +$files3 = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels3 = array('file5.pptx'); + +$fileNames = array('file6.ppt', 'file7.mp4'); +$fileSizes = array(893, 23089); +$fileTmpName = array('/tmp/phpu2elbc', '/tmp/phpwje9uS'); +$files4 = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels4 = array('file6.ppt', 'file7.mp4'); + +$fileNames = array('file9.ppt', 'file10.mp4', 'file11.wri'); +$fileSizes = array(2893, 389, 293838); +$fileTmpName = array('/tmp/phpu2ssbc', '/tmp/phpe0e9uS', '/tmp/phpjf93jf9'); +$files5 = array('name' => $fileNames, 'size' => $fileSizes, 'tmp_name' => $fileTmpName); +$labels5 = array('file9.ppt', 'file10.mp4', 'file11.wri'); + +r($file->getUploadTest($files1, $labels1)) && p('0:title;1:title') && e('file1.jpg;file2.txt'); // 测试获取上传的文件信息1 +r($file->getUploadTest($files2, $labels2)) && p('0:title;1:title') && e('file3.ppt;file4.mp4'); // 测试获取上传的文件信息2 +r($file->getUploadTest($files3, $labels3)) && p('0:title') && e('file5.pptx'); // 测试获取上传的文件信息3 +r($file->getUploadTest($files4, $labels4)) && p('0:title;1:title') && e('file6.ppt;file7.mp4'); // 测试获取上传的文件信息4 +r($file->getUploadTest($files5, $labels5)) && p('0:title;1:title;2:title') && e('file9.ppt;file10.mp4;file11.wri'); // 测试获取上传的文件信息5 \ No newline at end of file diff --git a/test/model/file/getuploadfile.php b/test/model/file/getuploadfile.php new file mode 100755 index 0000000000..bf1f682c0e --- /dev/null +++ b/test/model/file/getuploadfile.php @@ -0,0 +1,69 @@ +#!/usr/bin/env php +getUploadFile(); +cid=1 +pid=1 + +测试获取上传image1时的文件信息 >> png,img1,3021,/tmp/phpsjisk +测试获取上传image2时的文件信息 >> png,img2,3281,/tmp/phpsjisk +测试获取上传image3时的文件信息 >> png,img3,938,/tmp/phpsjisk +测试获取上传image4时的文件信息 >> png,img4,4821,/tmp/phpsjisk +测试获取上传image5时的文件信息 >> png,img5,9870,/tmp/phpsjisk + +*/ + +$image1 = new stdclass(); +$image1->name = 'img1.png'; +$image1->chunk = 0; +$image1->chunks = 1; +$image1->label = 'img1'; +$image1->uuid = 'o_peahuifhuieafj'; +$image1->size = '3021'; + +$image2 = new stdclass(); +$image2->name = 'img2.png'; +$image2->chunk = 0; +$image2->chunks = 1; +$image2->label = 'img2'; +$image2->uuid = 'o_fnjakehfjkahek'; +$image2->size = '3281'; + +$image3 = new stdclass(); +$image3->name = 'img3.png'; +$image3->chunk = 0; +$image3->chunks = 1; +$image3->label = 'img3'; +$image3->uuid = 'o_fjaieojfioeiei'; +$image3->size = '938'; + +$image4 = new stdclass(); +$image4->name = 'img4.png'; +$image4->chunk = 0; +$image4->chunks = 1; +$image4->label = 'img4'; +$image4->uuid = 'o_aehufhuihfiuae'; +$image4->size = '4821'; + +$image5 = new stdclass(); +$image5->name = 'img5.png'; +$image5->chunk = 0; +$image5->chunks = 1; +$image5->label = 'img5'; +$image5->uuid = 'o_hfauehuihfiuae'; +$image5->size = '9870'; + +$files = array('tmp_name' => '/tmp/phpsjisk', 'name' => 'filename'); + +$file = new fileTest(); + +r($file->getUploadFileTest($image1, $files)) && p('extension,title,size,tmpname') && e('png,img1,3021,/tmp/phpsjisk'); // 测试获取上传image1时的文件信息 +r($file->getUploadFileTest($image2, $files)) && p('extension,title,size,tmpname') && e('png,img2,3281,/tmp/phpsjisk'); // 测试获取上传image2时的文件信息 +r($file->getUploadFileTest($image3, $files)) && p('extension,title,size,tmpname') && e('png,img3,938,/tmp/phpsjisk'); // 测试获取上传image3时的文件信息 +r($file->getUploadFileTest($image4, $files)) && p('extension,title,size,tmpname') && e('png,img4,4821,/tmp/phpsjisk'); // 测试获取上传image4时的文件信息 +r($file->getUploadFileTest($image5, $files)) && p('extension,title,size,tmpname') && e('png,img5,9870,/tmp/phpsjisk'); // 测试获取上传image5时的文件信息 \ No newline at end of file diff --git a/test/model/file/setsavepath.php b/test/model/file/setsavepath.php new file mode 100755 index 0000000000..c95880b0a5 --- /dev/null +++ b/test/model/file/setsavepath.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +setSavePath(); +cid=1 +pid=1 + +测试更新savePath >> /www/data/upload/1/ + +*/ + +$file = new fileTest(); + +r($file->setSavePathTest()) && p() && e('/www/data/upload/1/'); // 测试更新savePath \ No newline at end of file diff --git a/test/model/file/setwebpath.php b/test/model/file/setwebpath.php new file mode 100755 index 0000000000..437f9b8e06 --- /dev/null +++ b/test/model/file/setwebpath.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +setWebPath(); +cid=1 +pid=1 + +测试更新webPath >> /test/model/file/data/upload/1/ + +*/ + +$file = new fileTest(); + +r($file->setWebPathTest()) && p() && e('/test/model/file/data/upload/1/'); // 测试更新webPath \ No newline at end of file diff --git a/test/model/file/updateobjectid.php b/test/model/file/updateobjectid.php new file mode 100755 index 0000000000..513dd20d6a --- /dev/null +++ b/test/model/file/updateobjectid.php @@ -0,0 +1,37 @@ +#!/usr/bin/env php +updateObjectID(); +cid=1 +pid=1 + +测试更新 id 1 的objectID 为 101 objectType 为 bug >> 1,101,bug +测试更新 id 2 3 的objectID 为 102 objectType 为 story >> 2,102,story;3,102,story +测试更新 id 4 5 的objectID 为 103 objectType 为 task >> 4,103,task;5,103,task +测试更新 id 6 7 8 的objectID 为 104 objectType 为 traincourse >> 6,104,traincourse;7,104,traincourse;8,104,traincourse +测试更新 id 9 10 11 的objectID 为 105 objectType 为 testcase >> 9,105,testcase;10,105,testcase;11,105,testcase + +*/ +$uid = '98390890341'; +$albums1 = array('used' => array($uid => array('1'))); +$albums2 = array('used' => array($uid => array('2', '3'))); +$albums3 = array('used' => array($uid => array('4', '5'))); +$albums4 = array('used' => array($uid => array('6', '7', '8'))); +$albums5 = array('used' => array($uid => array('9', '10', '11'))); + +$objectID = array(101, 102, 103, 104, 105); +$objectType = array('bug', 'story', 'task', 'traincourse', 'testcase'); + +$file = new fileTest(); + +r($file->updateObjectIDTest($uid, $objectID[0], $objectType[0], $albums1)) && p('1:id,objectID,objectType') && e('1,101,bug'); // 测试更新 id 1 的objectID 为 101 objectType 为 bug +r($file->updateObjectIDTest($uid, $objectID[1], $objectType[1], $albums2)) && p('2:id,objectID,objectType;3:id,objectID,objectType') && e('2,102,story;3,102,story'); // 测试更新 id 2 3 的objectID 为 102 objectType 为 story +r($file->updateObjectIDTest($uid, $objectID[2], $objectType[2], $albums3)) && p('4:id,objectID,objectType;5:id,objectID,objectType') && e('4,103,task;5,103,task'); // 测试更新 id 4 5 的objectID 为 103 objectType 为 task +r($file->updateObjectIDTest($uid, $objectID[3], $objectType[3], $albums4)) && p('6:id,objectID,objectType;7:id,objectID,objectType;8:id,objectID,objectType') && e('6,104,traincourse;7,104,traincourse;8,104,traincourse'); // 测试更新 id 6 7 8 的objectID 为 104 objectType 为 traincourse +r($file->updateObjectIDTest($uid, $objectID[4], $objectType[4], $albums5)) && p('9:id,objectID,objectType;10:id,objectID,objectType;11:id,objectID,objectType') && e('9,105,testcase;10,105,testcase;11,105,testcase'); // 测试更新 id 9 10 11 的objectID 为 105 objectType 为 testcase +system('./ztest init'); \ No newline at end of file diff --git a/test/ztest b/test/ztest index 61374a132c..11548a7609 100755 --- a/test/ztest +++ b/test/ztest @@ -49,6 +49,9 @@ switch($argv[1]) case 'design': ztfRun('model/design'); break; + case 'file': + ztfRun('model/file'); + break; case 'execution': ztfRun('model/execution'); break;