znt/module/backup/test/model/getbackupdirprogress.php

83 lines
3.2 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 backupModel::getBackupDirProgress();
timeout=0
cid=15132
- 执行backupTest模块的getBackupDirProgressTest方法参数是$testBackupName1
- 属性allCount @0
- 属性count @0
- 执行backupTest模块的getBackupDirProgressTest方法参数是$testBackupName2
- 属性size @1234
- 属性allCount @10
- 属性count @5
- 执行backupTest模块的getBackupDirProgressTest方法参数是$testBackupName3 @0
- 执行backupTest模块的getBackupDirProgressTest方法参数是$testBackupName4 @0
- 执行backupTest模块的getBackupDirProgressTest方法参数是$testBackupName5
- 属性allCount @100
- 属性count @75
- 属性size @2048576
- 属性progress @75.5
- 属性status @processing
- 执行backupTest模块的getBackupDirProgressTest方法参数是''
- 属性allCount @0
- 属性count @0
*/
// 1. 导入依赖
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 2. 用户登录
su('admin');
// 3. 创建测试实例
$backupTest = new backupModelTest();
// 4. 执行测试步骤至少5个
// 测试步骤1临时日志文件不存在时返回默认值
$testBackupName1 = sys_get_temp_dir() . '/backup_test_nonexistent_' . time();
r($backupTest->getBackupDirProgressTest($testBackupName1)) && p('allCount,count') && e('0,0');
// 测试步骤2临时日志文件存在且包含有效JSON数据
$testBackupName2 = sys_get_temp_dir() . '/backup_test_valid_' . time();
$summaryFile2 = $testBackupName2 . '.tmp.summary';
file_put_contents($summaryFile2, json_encode(array('size' => '1234', 'allCount' => 10, 'count' => 5)));
r($backupTest->getBackupDirProgressTest($testBackupName2)) && p('size,allCount,count') && e('1234,10,5');
if(file_exists($summaryFile2)) unlink($summaryFile2);
// 测试步骤3临时日志文件存在但内容为空
$testBackupName3 = sys_get_temp_dir() . '/backup_test_empty_' . time();
$summaryFile3 = $testBackupName3 . '.tmp.summary';
file_put_contents($summaryFile3, '');
r($backupTest->getBackupDirProgressTest($testBackupName3)) && p() && e('0');
if(file_exists($summaryFile3)) unlink($summaryFile3);
// 测试步骤4临时日志文件存在但包含无效JSON
$testBackupName4 = sys_get_temp_dir() . '/backup_test_invalid_' . time();
$summaryFile4 = $testBackupName4 . '.tmp.summary';
file_put_contents($summaryFile4, 'invalid json content');
r($backupTest->getBackupDirProgressTest($testBackupName4)) && p() && e('0');
if(file_exists($summaryFile4)) unlink($summaryFile4);
// 测试步骤5测试包含多种字段的复杂JSON数据
$testBackupName5 = sys_get_temp_dir() . '/backup_test_complex_' . time();
$summaryFile5 = $testBackupName5 . '.tmp.summary';
$complexData = array(
'allCount' => 100,
'count' => 75,
'size' => 2048576,
'progress' => 75.5,
'status' => 'processing'
);
file_put_contents($summaryFile5, json_encode($complexData));
r($backupTest->getBackupDirProgressTest($testBackupName5)) && p('allCount,count,size,progress,status') && e('100,75,2048576,75.5,processing');
if(file_exists($summaryFile5)) unlink($summaryFile5);
// 测试步骤6测试空字符串作为backup参数
r($backupTest->getBackupDirProgressTest('')) && p('allCount,count') && e('0,0');