znt/module/extension/test/model/getexpiringplugins.php

68 lines
2.8 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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测试方法参数类型验证