diff --git a/module/instance/model.php b/module/instance/model.php index 9756cb9656..24b04c1fa1 100644 --- a/module/instance/model.php +++ b/module/instance/model.php @@ -316,16 +316,16 @@ class instanceModel extends model } /** + * 判断应用实例是否可以进行操作。 * If actions are allowed to do. * * @param string $action * @param object $instance * @access public - * @return boolean + * @return bool */ - public function canDo($action, $instance) + public function canDo(string $action, object $instance): bool { - // $busy = in_array($instance->status, array('creating', 'initializing', 'starting', 'stopping', 'suspending', 'pulling', 'destroying')); switch($action) { case 'start': diff --git a/module/instance/test/model/cando.php b/module/instance/test/model/cando.php new file mode 100755 index 0000000000..67445e8cd0 --- /dev/null +++ b/module/instance/test/model/cando.php @@ -0,0 +1,38 @@ +#!/usr/bin/env php +gen(2); + +/** + +title=instanceModel->getByID(); +timeout=0 +cid=1 + +- 查看第一条instance是否可操作start @0 +- 查看第一条instance是否可操作stop @0 +- 查看第一条instance是否可操作uninstall @1 +- 查看第一条instance是否可操作visit @0 +- 查看第二条instance是否可操作start @0 +- 查看第二条instance是否可操作stop @0 +- 查看第二条instance是否可操作uninstall @1 +- 查看第二条instance是否可操作visit @0 + +*/ + +global $tester; +$tester->loadModel('instance'); + +$instance = $tester->instance->getByID(1); +r($tester->instance->canDo('start', $instance)) && p('') && e('0'); // 查看第一条instance是否可操作start +r($tester->instance->canDo('stop', $instance)) && p('') && e('0'); // 查看第一条instance是否可操作stop +r($tester->instance->canDo('uninstall', $instance)) && p('') && e('1'); // 查看第一条instance是否可操作uninstall +r($tester->instance->canDo('visit', $instance)) && p('') && e('0'); // 查看第一条instance是否可操作visit + +$instance = $tester->instance->getByID(2); +r($tester->instance->canDo('start', $instance)) && p('') && e('0'); // 查看第二条instance是否可操作start +r($tester->instance->canDo('stop', $instance)) && p('') && e('0'); // 查看第二条instance是否可操作stop +r($tester->instance->canDo('uninstall', $instance)) && p('') && e('1'); // 查看第二条instance是否可操作uninstall +r($tester->instance->canDo('visit', $instance)) && p('') && e('0'); // 查看第二条instance是否可操作visit \ No newline at end of file