From bf905a652c035237a755a6c62ab8575fbc138b6a Mon Sep 17 00:00:00 2001 From: liumengyi Date: Tue, 26 Dec 2023 19:12:45 +0800 Subject: [PATCH] * Refactor zahostModel::getImageByID, and add its unit test. --- module/zanode/model.php | 13 +++--- module/zanode/test/model/getimagebyid.php | 49 +++++++++++++++++++++++ 2 files changed, 55 insertions(+), 7 deletions(-) create mode 100644 module/zanode/test/model/getimagebyid.php diff --git a/module/zanode/model.php b/module/zanode/model.php index 230a2d06f8..e8ba7c4e21 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -570,17 +570,16 @@ class zanodemodel extends model } /** - * Get Image. + * 通过 id 获取镜像。 + * Get Image by id. * - * @param int $id + * @param int $id * @access public - * @return object + * @return object|false */ - public function getImageByID($id) + public function getImageByID(int $id): object|bool { - return $this->dao->select('*')->from(TABLE_IMAGE) - ->where('id')->eq($id) - ->fetch(); + return $this->dao->select('*')->from(TABLE_IMAGE)->where('id')->eq($id)->fetch(); } /** diff --git a/module/zanode/test/model/getimagebyid.php b/module/zanode/test/model/getimagebyid.php new file mode 100644 index 0000000000..4a3747a431 --- /dev/null +++ b/module/zanode/test/model/getimagebyid.php @@ -0,0 +1,49 @@ +#!/usr/bin/env php +getImageByID(). +cid=1 + +- 测试获取 node id 1的快照 + - 属性id @1 + - 属性name @defaultSnap + - 属性from @snapshot + - 属性status @creating + - 属性createdBy @system +- 测试获取 node id 2的快照 + - 属性id @2 + - 属性name @defaultSnap + - 属性from @snapshot + - 属性status @creating + - 属性createdBy @admin +- 测试获取 node id 5的快照 + - 属性id @5 + - 属性name @defaultSnap + - 属性from @snapshot + - 属性status @wait + - 属性createdBy @system +- 测试获取 空的 node id 0的快照 @0 +- 测试获取 不存在的 node id 1000的快照 @0 + +*/ + +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/zanode.class.php'; + +zdTable('user')->gen(10); +zdTable('image')->config('image')->gen(5); + +su('admin'); + +$zanode = new zanodeTest(); + +$nodeID = array(1, 2, 5, 0, 1000); + +r($zanode->getImageByID($nodeID[0])) && p('id,name,from,status,createdBy') && e('1,defaultSnap,snapshot,creating,system'); // 测试获取 node id 1 的快照 +r($zanode->getImageByID($nodeID[1])) && p('id,name,from,status,createdBy') && e('2,defaultSnap,snapshot,creating,admin'); // 测试获取 node id 2 的快照 +r($zanode->getImageByID($nodeID[2])) && p('id,name,from,status,createdBy') && e('5,defaultSnap,snapshot,wait,system'); // 测试获取 node id 5 的快照 +r($zanode->getImageByID($nodeID[3])) && p() && e('0'); // 测试获取 空的 node id 0 的快照 +r($zanode->getImageByID($nodeID[4])) && p() && e('0'); // 测试获取 不存在的 node id 1000 的快照