From bfd92fc13c085d7fcdffff1c01ef7daeeb93d9f9 Mon Sep 17 00:00:00 2001 From: liugang Date: Mon, 24 Nov 2025 17:44:18 +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/lib/model.class.php | 18 ++++++++ module/cne/test/model/translateerror.php | 53 ++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100755 module/cne/test/model/translateerror.php diff --git a/module/cne/test/lib/model.class.php b/module/cne/test/lib/model.class.php index 334980f4b2..93fb35c72a 100644 --- a/module/cne/test/lib/model.class.php +++ b/module/cne/test/lib/model.class.php @@ -188,4 +188,22 @@ class cneModelTest extends baseTest if(dao::isError()) return dao::getError(); return $result; } + + /** + * Test translateError method. + * + * @param object $apiResult + * @access public + * @return object + */ + public function translateErrorTest(object &$apiResult) + { + $cne = $this->getInstance('cne', 'model'); + $reflection = new ReflectionClass($cne); + $method = $reflection->getMethod('translateError'); + $method->setAccessible(true); + $result = $method->invokeArgs($cne, array(&$apiResult)); + if(dao::isError()) return dao::getError(); + return $result; + } } diff --git a/module/cne/test/model/translateerror.php b/module/cne/test/model/translateerror.php new file mode 100755 index 0000000000..e9fbb243a8 --- /dev/null +++ b/module/cne/test/model/translateerror.php @@ -0,0 +1,53 @@ +#!/usr/bin/env php +code = 400; +$apiResult1->message = 'original error'; +r($cneTest->translateErrorTest($apiResult1)) && p('code') && e('400'); + +// 测试步骤2:已知错误代码404 +$apiResult2 = new stdclass(); +$apiResult2->code = 404; +$apiResult2->message = 'not found'; +r($cneTest->translateErrorTest($apiResult2)) && p('code') && e('404'); + +// 测试步骤3:未知错误代码999 +$apiResult3 = new stdclass(); +$apiResult3->code = 999; +$apiResult3->message = 'unknown error'; +r($cneTest->translateErrorTest($apiResult3)) && p('code') && e('999'); + +// 测试步骤4:已知错误代码41001 +$apiResult4 = new stdclass(); +$apiResult4->code = 41001; +$apiResult4->message = 'certificate expired'; +r($cneTest->translateErrorTest($apiResult4)) && p('code') && e('41001'); + +// 测试步骤5:已知错误代码40004 +$apiResult5 = new stdclass(); +$apiResult5->code = 40004; +$apiResult5->message = 'cert domain mismatch'; +r($cneTest->translateErrorTest($apiResult5)) && p('code') && e('40004'); \ No newline at end of file