* Correnct unit test for zanode.

This commit is contained in:
wangxuepeng
2023-12-27 13:50:40 +08:00
parent 09d06f070d
commit e65da8db06
3 changed files with 51 additions and 9 deletions
+6 -6
View File
@@ -77,7 +77,7 @@ class zanodemodel extends model
*/
public function createImage(int $zanodeID, object $data): int|bool
{
$node = $this->getNodeByID($zanodeID);
$node = $this->getNodeByID($zanodeID);
if(!$node) return false;
$newImage = new stdClass();
@@ -94,14 +94,14 @@ class zanodemodel extends model
$newID = $this->dao->lastInsertID();
/* Prepare create params. */
$agnetUrl = 'http://' . $node->ip . ':' . $node->hzap;
$agentUrl = 'http://' . $node->ip . ':' . $node->hzap;
$param = array(
'backing' => $data->name,
'task' => $newID,
'vm' => $node->name
);
$result = json_decode(commonModel::http($agnetUrl . static::KVM_EXPORT_PATH, json_encode($param,JSON_NUMERIC_CHECK), array(), array("Authorization:$node->tokenSN"), 'data', 'POST', 10));
$result = json_decode(commonModel::http($agentUrl . static::KVM_EXPORT_PATH, json_encode($param,JSON_NUMERIC_CHECK), array(), array("Authorization:$node->tokenSN"), 'data', 'POST', 10));
if(!empty($result) && $result->code == 'success')
{
@@ -291,13 +291,14 @@ class zanodemodel extends model
}
/**
* 销毁一个执行节点。
* Destroy Node.
*
* @param int $id
* @param int $id
* @access public
* @return string
*/
public function destroy($id)
public function destroy(int $id): string
{
$node = $this->getNodeByID($id);
@@ -313,7 +314,6 @@ class zanodemodel extends model
if($data['code'] != 'success') return zget($this->lang->zanode->apiError, $data['code'], $data['msg']);
}
/* delete ZenAgent Node. */
$this->dao->delete()->from(TABLE_ZAHOST)->where('id')->eq($id)->exec();;
$this->loadModel('action')->create('zanode', $id, 'deleted');
return '';
+13 -3
View File
@@ -9,14 +9,16 @@ timeout=0
cid=1
- zanodeID为0的时候,执行节点不存在,返回false。 @0
- zanodeID为1,并且数据数据正常更新的时候,由于目前没有更好的执行节点解决方案,所以返回false。 @0
- 新建镜像成功并且在宿主机注册成功的时候,返回镜像id,为整型。 @1
- 新建镜像成功并且在宿主机注册成功的时候,宿主机状态为creating_img。 @1
- 新建镜像并且宿主机注册成功的时候,数据库会新增一条记录。 @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/zanode.class.php';
zdTable('host')->config('host')->gen(1);
zdTable('host')->config('host')->gen(2);
su('admin');
$zanodeIDList = array(0, 1);
@@ -25,5 +27,13 @@ $zanode = new zanodeTest();
$data = new stdclass();
$data->name = 'test node';
$num1 = $tester->dao->select('count(1) as num')->from(TABLE_IMAGE)->fetch('num');
r($zanode->createImage($zanodeIDList[0], $data)) && p('') && e(0); //zanodeID为0的时候,执行节点不存在,返回false。
r($zanode->createImage($zanodeIDList[1], $data)) && p('') && e(0); //zanodeID为1,并且数据数据正常更新的时候,由于目前没有更好的执行节点解决方案,所以返回false。
$result = $zanode->createImage($zanodeIDList[1], $data);
r(is_int($result)) && p('') && e(1); //新建镜像成功并且在宿主机注册成功的时候,返回镜像id,为整型。
$zahost = $tester->dao->select('id, status')->from(TABLE_HOST)->where('id')->eq(1)->fetchPairs();
r($zahost[1] === 'creating_img') && p('') && e(1); //新建镜像成功并且在宿主机注册成功的时候,宿主机状态为creating_img。
$num2 = $tester->dao->select('count(1) as num')->from(TABLE_IMAGE)->fetch('num');
r($num2 - $num1) && p('') && e(1); //新建镜像并且宿主机注册成功的时候,数据库会新增一条记录。
@@ -0,0 +1,32 @@
title: zt_host
author: Wang XuePeng
version: "1.0"
fields:
- field: id
range: 1-1000
- field: hardwareType
range: server
- field: hostType
range: virtual
- field: type
range: node,physics
- field: osName
range: linux
- field: status
range: online{3},running,ready,wait,wait,online{2},running,ready,wait
- field: provider
range: native
- field: parent
range: 0{2},1-2{5}
- field: heartbeat
range: "(-2M)-(+1D):-1S"
type: timestamp
format: "YYYY-MM-DD hh:mm:ss"
- field: extranet
range: 10.0.1.222
- field: parent
range: 2{1},0{1}
- field: zap
range: 0,55001
- field: image
range: 1