* Correnct unit test for zanode.
This commit is contained in:
@@ -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 '';
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user