From cf435fd52c3f24bee6e5f67fd0f3807a7cfd11f6 Mon Sep 17 00:00:00 2001 From: liugang Date: Wed, 12 Nov 2025 15:24:56 +0800 Subject: [PATCH] + [misc] Add unit tests for zanodeZen::getServiceStatus() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- module/zanode/test/zen/getservicestatus.php | 74 +++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 module/zanode/test/zen/getservicestatus.php diff --git a/module/zanode/test/zen/getservicestatus.php b/module/zanode/test/zen/getservicestatus.php new file mode 100755 index 0000000000..804d0ad241 --- /dev/null +++ b/module/zanode/test/zen/getservicestatus.php @@ -0,0 +1,74 @@ +#!/usr/bin/env php +rawModule)) $app->rawModule = 'zanode'; +if(!isset($app->rawMethod)) $app->rawMethod = 'test'; + +su('admin'); + +$zanodeTest = new zanodeTest(); + +// 测试场景1: 正常节点,服务都正常运行 +$node1 = new stdClass(); +$node1->ip = '192.168.1.100'; +$node1->zap = '8085'; +$node1->tokenSN = 'test-token-1'; + +// 测试场景2: ZTF服务离线的节点 +$node2 = new stdClass(); +$node2->ip = '192.168.1.101'; +$node2->zap = '8085'; +$node2->tokenSN = 'test-token-2'; + +// 测试场景3: HTTP请求失败(空响应) +$node3 = new stdClass(); +$node3->ip = '192.168.1.102'; +$node3->zap = '8085'; +$node3->tokenSN = 'test-token-3'; + +// 测试场景4: 响应代码非success +$node4 = new stdClass(); +$node4->ip = '192.168.1.103'; +$node4->zap = '8085'; +$node4->tokenSN = 'test-token-4'; + +// 测试场景5: 响应缺少ztfStatus +$node5 = new stdClass(); +$node5->ip = '192.168.1.104'; +$node5->zap = '8085'; +$node5->tokenSN = 'test-token-5'; + +r($zanodeTest->getServiceStatusTest($node1)) && p('ZenAgent,ZTF') && e('ready,ready'); // 测试步骤1: 正常节点服务状态查询 +r($zanodeTest->getServiceStatusTest($node2)) && p('ZenAgent,ZTF') && e('ready,offline'); // 测试步骤2: ZTF服务离线的节点 +r($zanodeTest->getServiceStatusTest($node3)) && p('ZenAgent,ZTF') && e('not_install,not_install'); // 测试步骤3: HTTP请求失败的节点 +r($zanodeTest->getServiceStatusTest($node4)) && p('ZenAgent,ZTF') && e('not_install,not_install'); // 测试步骤4: 响应代码非success的节点 +r($zanodeTest->getServiceStatusTest($node5)) && p('ZenAgent,ZTF') && e('not_install,not_install'); // 测试步骤5: 响应缺少ztfStatus的节点 \ No newline at end of file