From ddc44af5a290b7d59cd2c4407ca2b39bab3a9fcc Mon Sep 17 00:00:00 2001 From: liugang Date: Mon, 8 Sep 2025 17:08:52 +0800 Subject: [PATCH] + [misc] Add unit tests for instanceModel::enoughMemory() 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 --- .../test/lib/instance.unittest.class.php | 15 ++++++ module/instance/test/model/enoughmemory.php | 49 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100755 module/instance/test/model/enoughmemory.php diff --git a/module/instance/test/lib/instance.unittest.class.php b/module/instance/test/lib/instance.unittest.class.php index 59bf232b92..445c4693df 100644 --- a/module/instance/test/lib/instance.unittest.class.php +++ b/module/instance/test/lib/instance.unittest.class.php @@ -316,4 +316,19 @@ class instanceTest return $result; } + + /** + * Test enoughMemory method. + * + * @param object $cloudApp + * @access public + * @return bool + */ + public function enoughMemoryTest(object $cloudApp): bool + { + $result = $this->objectModel->enoughMemory($cloudApp); + if(dao::isError()) return dao::getError(); + + return $result; + } } \ No newline at end of file diff --git a/module/instance/test/model/enoughmemory.php b/module/instance/test/model/enoughmemory.php new file mode 100755 index 0000000000..17d9ce8279 --- /dev/null +++ b/module/instance/test/model/enoughmemory.php @@ -0,0 +1,49 @@ +#!/usr/bin/env php +memory = 512; // 512MB + +$highMemoryApp = new stdclass; +$highMemoryApp->memory = 16384; // 16GB + +$boundaryApp = new stdclass; +$boundaryApp->memory = 1000; // 假设为边界值 + +$zeroMemoryApp = new stdclass; +$zeroMemoryApp->memory = 0; + +$negativeMemoryApp = new stdclass; +$negativeMemoryApp->memory = -100; + +// 5. 强制要求:必须包含至少5个测试步骤 +r($instanceTest->enoughMemoryTest($lowMemoryApp)) && p() && e('0'); // 步骤1:正常情况-低内存需求(测试环境集群资源为0) +r($instanceTest->enoughMemoryTest($highMemoryApp)) && p() && e('0'); // 步骤2:高内存需求 +r($instanceTest->enoughMemoryTest($boundaryApp)) && p() && e('0'); // 步骤3:边界值测试 +r($instanceTest->enoughMemoryTest($zeroMemoryApp)) && p() && e('1'); // 步骤4:零内存需求 +r($instanceTest->enoughMemoryTest($negativeMemoryApp)) && p() && e('1'); // 步骤5:负数内存需求 \ No newline at end of file