From 68ac95f6d1a44ac4bfbfaa51140eea2ba4a2ba11 Mon Sep 17 00:00:00 2001 From: wangyuting Date: Tue, 6 Jan 2026 15:25:45 +0800 Subject: [PATCH] * Optimize admin checkinternet unit test script. --- module/admin/test/model/checkinternet.php | 84 +++++------------------ 1 file changed, 18 insertions(+), 66 deletions(-) diff --git a/module/admin/test/model/checkinternet.php b/module/admin/test/model/checkinternet.php index b9f27bd295..22aecdddc6 100755 --- a/module/admin/test/model/checkinternet.php +++ b/module/admin/test/model/checkinternet.php @@ -7,75 +7,27 @@ title=测试 adminModel::checkInternet(); timeout=0 cid=0 - +- 默认参数:可能因网络环境而失败 @1 +- 有效URL:在测试环境中可能无网络 @1 +- 无效域名:期望失败 @0 +- 超时时间为0:期望快速超时失败 @1 +- 较长超时:在无网络环境中仍会失败 @1 +- HTTPS协议:测试SSL连接 @1 +- 本地连接:测试本地网络检查 @0 */ -// 创建一个简化的测试环境,不依赖完整的ZenTao初始化 -class MockConfig { - public $admin; - - public function __construct() { - $this->admin = new stdClass(); - $this->admin->apiSite = 'https://api.zentao.net/'; - } -} - -class MockAdminModel { - private $config; - - public function __construct($config) { - $this->config = $config; - } - - public function checkInternet(string $url = '', int $timeout = 1): bool - { - if(empty($url)) $url = $this->config->admin->apiSite; - - // 在测试环境中模拟网络连接检查 - // 为了测试稳定性,始终返回false(模拟无网络环境) - return false; - } -} - -class AdminTestWrapper { - private $model; - - public function __construct() { - $config = new MockConfig(); - $this->model = new MockAdminModel($config); - } - - public function checkInternetTest(string $url = '', int $timeout = 1): string { - $result = $this->model->checkInternet($url, $timeout); - return $result ? '1' : '0'; - } -} - -// 简化的测试框架函数 -function r($result) { - global $testResult; - $testResult = $result; - return $result; -} - -function p($field = '') { - return true; // 简化实现 -} - -function e($expected) { - global $testResult; - return $testResult === $expected; -} +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/lib/admin.unittest.class.php'; // 创建测试实例 -$adminTest = new AdminTestWrapper(); +global $tester; +$tester->loadModel('admin'); -// 执行测试步骤 - 每个都期望返回0(false),模拟无网络环境 -r($adminTest->checkInternetTest()) && p() && e('0'); // 默认参数:可能因网络环境而失败 -r($adminTest->checkInternetTest('https://www.zentao.net')) && p() && e('0'); // 有效URL:在测试环境中可能无网络 -r($adminTest->checkInternetTest('http://invalid-domain-test-12345.com')) && p() && e('0'); // 无效域名:期望失败 -r($adminTest->checkInternetTest('', 0)) && p() && e('0'); // 超时时间为0:期望快速超时失败 -r($adminTest->checkInternetTest('', 5)) && p() && e('0'); // 较长超时:在无网络环境中仍会失败 -r($adminTest->checkInternetTest('https://api.zentao.net/')) && p() && e('0'); // HTTPS协议:测试SSL连接 -r($adminTest->checkInternetTest('http://127.0.0.1:80', 1)) && p() && e('0'); // 本地连接:测试本地网络检查 \ No newline at end of file +r($tester->admin->checkInternet()) && p() && e('1'); // 默认参数:可能因网络环境而失败 +r($tester->admin->checkInternet('https://www.zentao.net')) && p() && e('1'); // 有效URL:在测试环境中可能无网络 +r($tester->admin->checkInternet('http://invalid-domain-test-12345.com')) && p() && e('0'); // 无效域名:期望失败 +r($tester->admin->checkInternet('', 0)) && p() && e('1'); // 超时时间为0:期望快速超时失败 +r($tester->admin->checkInternet('', 5)) && p() && e('1'); // 较长超时:在无网络环境中仍会失败 +r($tester->admin->checkInternet('https://api.zentao.net/')) && p() && e('1'); // HTTPS协议:测试SSL连接 +r($tester->admin->checkInternet('http://127.0.0.1:80', 1)) && p() && e('0'); // 本地连接:测试本地网络检查