diff --git a/module/gitlab/test/lib/gitlab.unittest.class.php b/module/gitlab/test/lib/gitlab.unittest.class.php index 38e63319fa..08ab5ae1f4 100755 --- a/module/gitlab/test/lib/gitlab.unittest.class.php +++ b/module/gitlab/test/lib/gitlab.unittest.class.php @@ -1383,4 +1383,21 @@ class gitlabTest return $result; } + + /** + * Test apiUpdateGroupMember method. + * + * @param int $gitlabID + * @param int $groupID + * @param object $member + * @access public + * @return object|array|null|false + */ + public function apiUpdateGroupMemberTest(int $gitlabID, int $groupID, object $member): object|array|null|false + { + $result = $this->gitlab->apiUpdateGroupMember($gitlabID, $groupID, $member); + if(dao::isError()) return dao::getError(); + + return $result; + } } diff --git a/module/gitlab/test/model/apiupdategroupmember.php b/module/gitlab/test/model/apiupdategroupmember.php index 7325926766..35ebfa1b6b 100755 --- a/module/gitlab/test/model/apiupdategroupmember.php +++ b/module/gitlab/test/model/apiupdategroupmember.php @@ -8,37 +8,71 @@ title=测试 gitlabModel::apiUpdateGroupMember(); timeout=0 cid=1 -- 使用空的user_id更新gitlab群组 @return false -- 使用空的access_level更新gitlab群组 @return false -- 使用错误gitlabID更新群组 @0 -- 通过gitlabID,groupID,分支对象正确更新GitLab群组成员属性access_level @30 +- 执行$result @return false +- 执行$result @return false +- 执行gitlab模块的apiUpdateGroupMember方法,参数是0, $groupID, $groupMember @0 +- 执行$result @return false +- 执行gitlab模块的apiUpdateGroupMember方法,参数是$gitlabID, $groupID, $groupMember @0 +- 执行gitlab模块的apiUpdateGroupMember方法,参数是$gitlabID, $groupID, $groupMember 属性access_level @30 */ zenData('pipeline')->gen(5); +global $app; +$app->rawModule = 'gitlab'; +$app->rawMethod = 'browse'; + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 1; $groupID = 14; +/* 测试步骤1:使用空的user_id参数更新gitlab群组成员 */ $groupMember = new stdclass(); $groupMember->user_id = ''; $groupMember->access_level = '40'; $result = $gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember); if($result === false) $result = 'return false'; -r($result) && p() && e('return false'); //使用空的user_id更新gitlab群组 +r($result) && p() && e('return false'); +/* 测试步骤2:使用空的access_level参数更新gitlab群组成员 */ +$groupMember = new stdclass(); $groupMember->user_id = '4'; $groupMember->access_level = ''; + $result = $gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember); if($result === false) $result = 'return false'; -r($result) && p() && e('return false'); //使用空的access_level更新gitlab群组 +r($result) && p() && e('return false'); -r($gitlab->apiUpdateGroupMember(0, $groupID, $groupMember)) && p() && e('0'); //使用错误gitlabID更新群组 +/* 测试步骤3:使用无效的gitlabID参数更新群组成员 */ +$groupMember = new stdclass(); +$groupMember->user_id = '4'; +$groupMember->access_level = '30'; +r($gitlab->apiUpdateGroupMember(0, $groupID, $groupMember)) && p() && e('0'); +/* 测试步骤4:使用字符串类型的user_id参数更新群组成员 */ +$groupMember = new stdclass(); +$groupMember->user_id = 'invalid_user'; +$groupMember->access_level = '30'; + +$result = $gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); + +/* 测试步骤5:使用无效的access_level值更新群组成员 */ +$groupMember = new stdclass(); +$groupMember->user_id = '4'; +$groupMember->access_level = '999'; +r($gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember)) && p() && e('0'); + +/* 测试步骤6:使用正确参数更新GitLab群组成员权限级别 */ +/* 首先确保成员存在,然后更新权限级别 */ +$groupMember = new stdclass(); +$groupMember->user_id = '4'; $groupMember->access_level = '40'; $gitlab->apiCreateGroupMember($gitlabID, $groupID, $groupMember); + $groupMember->access_level = '30'; -r($gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember)) && p('access_level') && e('30'); //通过gitlabID,groupID,分支对象正确更新GitLab群组成员 \ No newline at end of file +r($gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember)) && p('access_level') && e('30'); \ No newline at end of file