68 lines
2.8 KiB
PHP
68 lines
2.8 KiB
PHP
|
|
#!/usr/bin/env php
|
|||
|
|
<?php
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
|
|||
|
|
title=测试 extensionModel::getExpiringPlugins();
|
|||
|
|
timeout=0
|
|||
|
|
cid=16459
|
|||
|
|
|
|||
|
|
- 测试步骤1:无已安装插件时获取即将到期的插件列表 @0
|
|||
|
|
- 测试步骤2:测试非分组模式的返回格式 @1
|
|||
|
|
- 测试步骤3:测试分组模式的返回格式 @1
|
|||
|
|
- 测试步骤4:验证分组模式下expiring数组的初始状态 @1
|
|||
|
|
- 测试步骤5:验证分组模式下expired数组的初始状态 @1
|
|||
|
|
- 测试步骤6:测试当有已安装插件但无授权文件时的行为 @0
|
|||
|
|
- 测试步骤7:测试方法参数类型验证 @2
|
|||
|
|
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
|||
|
|
include dirname(__FILE__, 2) . '/lib/model.class.php';
|
|||
|
|
|
|||
|
|
// 准备基础测试数据 - 模拟已安装的插件
|
|||
|
|
$table = zenData('extension');
|
|||
|
|
$table->id->range('1-5');
|
|||
|
|
$table->name->range('testplugin1,testplugin2,testplugin3,testplugin4,testplugin5');
|
|||
|
|
$table->code->range('test1,test2,test3,test4,test5');
|
|||
|
|
$table->version->range('1.0.0{5}');
|
|||
|
|
$table->status->range('installed{5}');
|
|||
|
|
$table->type->range('extension{5}');
|
|||
|
|
$table->author->range('TestAuthor{5}');
|
|||
|
|
$table->desc->range('测试插件描述{5}');
|
|||
|
|
$table->license->range('LGPL{5}');
|
|||
|
|
$table->site->range('http://test.com{5}');
|
|||
|
|
$table->zentaoCompatible->range('all{5}');
|
|||
|
|
$table->depends->range('[]{5}');
|
|||
|
|
$table->dirs->range('[]{5}');
|
|||
|
|
$table->files->range('[]{5}');
|
|||
|
|
$table->gen(5);
|
|||
|
|
|
|||
|
|
// 用户登录
|
|||
|
|
su('admin');
|
|||
|
|
|
|||
|
|
// 创建测试实例
|
|||
|
|
$extensionTest = new extensionModelTest();
|
|||
|
|
|
|||
|
|
// 测试步骤1:测试默认参数行为(无分组)
|
|||
|
|
r($extensionTest->getExpiringPluginsTest()) && p() && e('0'); // 测试步骤1:无已安装插件时获取即将到期的插件列表
|
|||
|
|
|
|||
|
|
// 测试步骤2:测试显式传入false参数(非分组模式)
|
|||
|
|
$nonGroupResult = $extensionTest->getExpiringPluginsTest(false);
|
|||
|
|
r(is_array($nonGroupResult) && !isset($nonGroupResult['expiring'])) && p() && e('1'); // 测试步骤2:测试非分组模式的返回格式
|
|||
|
|
|
|||
|
|
// 测试步骤3:测试分组模式的返回结构
|
|||
|
|
$groupResult = $extensionTest->getExpiringPluginsTest(true);
|
|||
|
|
r(is_array($groupResult) && isset($groupResult['expiring']) && isset($groupResult['expired'])) && p() && e('1'); // 测试步骤3:测试分组模式的返回格式
|
|||
|
|
|
|||
|
|
// 测试步骤4:验证分组模式下expiring数组
|
|||
|
|
r(is_array($groupResult['expiring'])) && p() && e('1'); // 测试步骤4:验证分组模式下expiring数组的初始状态
|
|||
|
|
|
|||
|
|
// 测试步骤5:验证分组模式下expired数组
|
|||
|
|
r(is_array($groupResult['expired'])) && p() && e('1'); // 测试步骤5:验证分组模式下expired数组的初始状态
|
|||
|
|
|
|||
|
|
// 测试步骤6:测试空结果时的数组长度
|
|||
|
|
r(count($nonGroupResult)) && p() && e('0'); // 测试步骤6:测试当有已安装插件但无授权文件时的行为
|
|||
|
|
|
|||
|
|
// 测试步骤7:验证分组结果数组的键数量
|
|||
|
|
r(count(array_keys($groupResult))) && p() && e('2'); // 测试步骤7:测试方法参数类型验证
|