From 3d0794e8466735c99bc99304569e5f6df3e1aef4 Mon Sep 17 00:00:00 2001 From: liugang Date: Wed, 5 Nov 2025 18:21:24 +0800 Subject: [PATCH] + [misc] Add unit tests for cneModel::translateError() 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/cne/test/model/translateerror.php | 66 ++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 module/cne/test/model/translateerror.php diff --git a/module/cne/test/model/translateerror.php b/module/cne/test/model/translateerror.php new file mode 100755 index 0000000000..4a864349f6 --- /dev/null +++ b/module/cne/test/model/translateerror.php @@ -0,0 +1,66 @@ +#!/usr/bin/env php +code = 400; +$apiResult1->message = 'Bad Request'; +r($cneTest->translateErrorTest($apiResult1, false)) && p('message') && e('请求集群接口失败'); + +// 测试步骤2: 已知错误码404的翻译 +$apiResult2 = new stdclass(); +$apiResult2->code = 404; +$apiResult2->message = 'Not Found'; +r($cneTest->translateErrorTest($apiResult2, false)) && p('message') && e('服务不存在'); + +// 测试步骤3: 已知错误码40004的翻译 +$apiResult3 = new stdclass(); +$apiResult3->code = 40004; +$apiResult3->message = 'Certificate domain mismatch'; +r($cneTest->translateErrorTest($apiResult3, false)) && p('message') && e('证书与域名不匹配'); + +// 测试步骤4: 未知错误码999的翻译(返回默认消息) +$apiResult4 = new stdclass(); +$apiResult4->code = 999; +$apiResult4->message = 'Unknown error'; +r($cneTest->translateErrorTest($apiResult4, false)) && p('message') && e('CNE服务器出错'); + +// 测试步骤5: 开启debug模式时包含原始错误信息 +$apiResult5 = new stdclass(); +$apiResult5->code = 400; +$apiResult5->message = 'Bad Request'; +r($cneTest->translateErrorTest($apiResult5, true)) && p('message') && e('请求集群接口失败 [400]: [Bad Request]'); + +// 测试步骤6: 关闭debug模式时不包含原始错误信息 +$apiResult6 = new stdclass(); +$apiResult6->code = 400; +$apiResult6->message = 'Bad Request'; +r($cneTest->translateErrorTest($apiResult6, false)) && p('message') && e('请求集群接口失败'); + +// 测试步骤7: 验证apiResult的message字段被正确修改 +$apiResult7 = new stdclass(); +$apiResult7->code = 404; +$apiResult7->message = 'Original Message'; +$cneTest->translateErrorTest($apiResult7, false); +r($apiResult7) && p('message') && e('服务不存在'); \ No newline at end of file