diff --git a/module/gitlab/model.php b/module/gitlab/model.php index bf9068b9d4..a3c72f61bc 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -472,9 +472,9 @@ class gitlabModel extends model * @param array $data * @param array $options * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiGet(int|string $host, string $api, array $data = array(), array $options = array()): object|array|null + public function apiGet(int|string $host, string $api, array $data = array(), array $options = array()): object|array|null|false { if(is_numeric($host)) $host = $this->getApiRoot($host); if(strpos($host, 'http://') !== 0 and strpos($host, 'https://') !== 0) return false; @@ -529,9 +529,9 @@ class gitlabModel extends model * @param string $host * @param string $token * @access public - * @return array + * @return object|array|null|false */ - public function apiGetCurrentUser(string $host, string $token): object|array|null + public function apiGetCurrentUser(string $host, string $token): object|array|null|false { $host = rtrim($host, '/') . "/api/v4%s?private_token=$token"; return $this->apiGet($host, '/user'); @@ -1049,9 +1049,9 @@ class gitlabModel extends model * @param int $projectID * @param object $branch * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiCreateBranch(int $gitlabID, int $projectID, object $branch): object|array|null + public function apiCreateBranch(int $gitlabID, int $projectID, object $branch): object|array|null|false { if(empty($branch->branch) or empty($branch->ref)) return false; @@ -1739,9 +1739,9 @@ class gitlabModel extends model * @param int $projectID * @param string $tagName * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiDeleteTag(int $gitlabID, int $projectID, string $tagName = ''): object|array|null + public function apiDeleteTag(int $gitlabID, int $projectID, string $tagName = ''): object|array|null|false { if(!(int)$gitlabID or !(int)$projectID or empty($tagName)) return false; @@ -1788,9 +1788,9 @@ class gitlabModel extends model * @param int $projectID * @param string $tag * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiDeleteTagPriv(int $gitlabID, int $projectID, string $tag): object|array|null + public function apiDeleteTagPriv(int $gitlabID, int $projectID, string $tag): object|array|null|false { if(empty($gitlabID)) return false; $apiRoot = $this->getApiRoot($gitlabID); @@ -2618,6 +2618,7 @@ class gitlabModel extends model return true; } + if(!is_object($response)) return false; return $this->apiErrorHandling($response); } @@ -2694,9 +2695,9 @@ class gitlabModel extends model * @param string $keyword * @param string $orderBy * @access public - * @return array + * @return array|object|null */ - public function apiGetBranchPrivs(int $gitlabID, int $projectID, string $keyword = '', string $orderBy = 'id_desc'): array + public function apiGetBranchPrivs(int $gitlabID, int $projectID, string $keyword = '', string $orderBy = 'id_desc'): array|object|null { $keyword = urlencode($keyword); $url = sprintf($this->getApiRoot($gitlabID), "/projects/$projectID/protected_branches"); @@ -2775,9 +2776,9 @@ class gitlabModel extends model * @param int $projectID * @param object $priv * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiCreateBranchPriv(int $gitlabID, int $projectID, object $priv): object|array|null + public function apiCreateBranchPriv(int $gitlabID, int $projectID, object $priv): object|array|null|false { if(empty($gitlabID)) return false; if(empty($projectID)) return false; @@ -2795,9 +2796,9 @@ class gitlabModel extends model * @param int $projectID * @param string $branch * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiDeleteBranchPriv(int $gitlabID, int $projectID, string $branch): object|array|null + public function apiDeleteBranchPriv(int $gitlabID, int $projectID, string $branch): object|array|null|false { if(empty($gitlabID)) return false; $branch = urlencode($branch); @@ -2865,9 +2866,9 @@ class gitlabModel extends model * @param int $projectID * @param object $priv * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiCreateTagPriv(int $gitlabID, int $projectID, object $priv): object|array|null + public function apiCreateTagPriv(int $gitlabID, int $projectID, object $priv): object|array|null|false { if(empty($gitlabID) or empty($projectID)) return false; if(empty($priv->name)) return false; @@ -2906,9 +2907,9 @@ class gitlabModel extends model * @param int $projectID * @param string $tag * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiGetSingleTag(int $gitlabID, int $projectID, string $tag): object|array|null + public function apiGetSingleTag(int $gitlabID, int $projectID, string $tag): object|array|null|false { if(empty($gitlabID)) return false; $url = sprintf($this->getApiRoot($gitlabID), "/projects/$projectID/repository/tags/$tag"); diff --git a/module/gitlab/test/gitlab.class.php b/module/gitlab/test/gitlab.class.php index 3b37d06525..730ff7838c 100644 --- a/module/gitlab/test/gitlab.class.php +++ b/module/gitlab/test/gitlab.class.php @@ -35,7 +35,7 @@ class gitlabTest { $gitlab = $this->gitlab->getList($orderBy); if(empty($gitlab)) return 0; - return array_shift($gitlab); + return $gitlab; } /** @@ -46,18 +46,44 @@ class gitlabTest public function getPairs() { $pairs = $this->gitlab->getPairs(); - return key($pairs); + return $pairs; + } + + public function getApiRootTest(int $gitlabID, bool $sudo = true) + { + return $this->gitlab->getApiRoot($gitlabID, $sudo); + } + + public function getUserIdRealnamePairsTest(int $gitlabID) + { + return $this->gitlab->getUserIdRealnamePairs($gitlabID); + } + + public function getUserIdAccountPairsTest(int $gitlabID) + { + return $this->gitlab->getUserIdAccountPairs($gitlabID); + } + + public function getUserAccountIdPairsTest(int $gitlabID) + { + return $this->gitlab->getUserAccountIdPairs($gitlabID); + } + + public function getUserIDByZentaoAccountTest(int $gitlab, string $zentaoAccount) + { + return $this->gitlab->getUserIDByZentaoAccount($gitlab, $zentaoAccount); } /** * Create a gitlab. * + * @param array $gitlab * @access public * @return object|string */ - public function create() + public function create(array $gitlab) { - $gitlabID = $this->gitlab->create(); + $gitlabID = $this->gitlab->create((object)$gitlab); if(dao::isError()) { $errors = dao::getError(); diff --git a/module/gitlab/test/model/apicreatebranch.php b/module/gitlab/test/model/apicreatebranch.php index 03b486a9e8..332f1627a8 100755 --- a/module/gitlab/test/model/apicreatebranch.php +++ b/module/gitlab/test/model/apicreatebranch.php @@ -5,17 +5,19 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiCreateBranch(); +timeout=0 cid=1 -pid=1 -使用空的gitlabID,projectID,分支对象创建GitLab分支 >> return false -使用空的gitlabID、projectID,正确的分支对象创建GitLab分支 >> return null -使用正确的gitlabID、分支信息,错误的projectID创建分支 >> 404 Project Not Found -通过gitlabID,projectID,分支对象正确创建GitLab分支 >> 1 -使用重复的分支信息创建分支 >> Branch already exists +- 使用空的gitlabID,projectID,分支对象创建GitLab分支 @return false +- 使用空的gitlabID、projectID,正确的分支对象创建GitLab分支 @return null +- 使用正确的gitlabID、分支信息,错误的projectID创建分支属性message @404 Project Not Found +- 通过gitlabID,projectID,分支对象正确创建GitLab分支 @1 +- 使用重复的分支信息创建分支属性message @Branch already exists */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 0; @@ -35,7 +37,7 @@ r($result) && p() && e('return null'); //使用空的gitlabID、projectID,正确 $gitlabID = 1; r($gitlab->apiCreateBranch($gitlabID, $projectID, $branch)) && p('message') && e('404 Project Not Found'); //使用正确的gitlabID、分支信息,错误的projectID创建分支 -$projectID = 1555; +$projectID = 2; $result = $gitlab->apiCreateBranch($gitlabID, $projectID, $branch); if(!empty($result->name) and $result->name == $branch->branch) $result = true; if(!empty($result->message) and $result->message == 'Branch already exists') $result = true; diff --git a/module/gitlab/test/model/apicreatebranchpriv.php b/module/gitlab/test/model/apicreatebranchpriv.php index b58f0fe397..88788a7d9b 100755 --- a/module/gitlab/test/model/apicreatebranchpriv.php +++ b/module/gitlab/test/model/apicreatebranchpriv.php @@ -5,14 +5,14 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiCreateBranchPriv(); +timeout=0 cid=1 -pid=1 -使用空的gitlabID,projectID,保护分支对象创建GitLab保护分支 >> return false -使用空的gitlabID、projectID,正确的保护分支对象创建GitLab保护分支 >> return false -使用正确的gitlabID、保护分支信息,错误的projectID创建保护分支 >> return false -通过gitlabID,projectID,保护分支对象正确创建GitLab保护分支 >> master -使用重复的保护分支信息创建保护分支 >> Protected branch 'master' already exists +- 使用空的gitlabID,projectID,保护分支对象创建GitLab保护分支 @return false +- 使用空的gitlabID、projectID,正确的保护分支对象创建GitLab保护分支 @return false +- 使用正确的gitlabID、保护分支信息,错误的projectID创建保护分支 @return false +- 通过gitlabID,projectID,保护分支对象正确创建GitLab保护分支属性name @master +- 使用重复的保护分支信息创建保护分支属性message @Protected branch 'master' already exists */ @@ -39,7 +39,7 @@ $result = $gitlab->apiCreateBranchPriv($gitlabID, $projectID, $branch); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用正确的gitlabID、保护分支信息,错误的projectID创建保护分支 -$projectID = 966; +$projectID = 2; $gitlab->apiDeleteBranchPriv($gitlabID, $projectID, $branch->name); r($gitlab->apiCreateBranchPriv($gitlabID, $projectID, $branch)) && p('name') && e('master'); //通过gitlabID,projectID,保护分支对象正确创建GitLab保护分支 r($gitlab->apiCreateBranchPriv($gitlabID, $projectID, $branch)) && p('message') && e("Protected branch 'master' already exists"); //使用重复的保护分支信息创建保护分支 \ No newline at end of file diff --git a/module/gitlab/test/model/apicreatetagpriv.php b/module/gitlab/test/model/apicreatetagpriv.php index 45d32b8ca5..86362466a5 100755 --- a/module/gitlab/test/model/apicreatetagpriv.php +++ b/module/gitlab/test/model/apicreatetagpriv.php @@ -5,18 +5,20 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiCreateTagPriv(); +timeout=0 cid=1 -pid=1 -使用空的gitlabID,projectID,保护标签对象创建GitLab保护标签 >> return false -使用正确的gitlabID,空的projectID、保护标签对象创建GitLab保护标签 >> return false -使用正确的gitlabID,空的保护标签信息,错误的projectID创建保护标签 >> return false -使用正确的gitlabID、保护标签信息,错误的projectID创建保护标签 >> 404 Project Not Found -使用正确的gitlabID、projectID、保护标签信息创建保护标签 >> test_tag1 -使用重复的保护标签信息创建保护标签 >> 名称已经被使用 +- 使用空的gitlabID,projectID,保护标签对象创建GitLab保护标签 @return false +- 使用正确的gitlabID,空的projectID、保护标签对象创建GitLab保护标签 @return false +- 使用正确的gitlabID,空的保护标签信息,错误的projectID创建保护标签 @return false +- 使用正确的gitlabID、保护标签信息,错误的projectID创建保护标签属性message @404 Project Not Found +- 使用正确的gitlabID、projectID、保护标签信息创建保护标签属性name @tag1 +- 使用重复的保护标签信息创建保护标签第message条的0属性 @名称 已经被使用 */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 0; @@ -32,16 +34,16 @@ $result = $gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用正确的gitlabID,空的projectID、保护标签对象创建GitLab保护标签 -$projectID = 1; +$projectID = 1555; $result = $gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用正确的gitlabID,空的保护标签信息,错误的projectID创建保护标签 -$tag->name = 'test_tag1'; +$tag->name = 'tag1'; $tag->create_access_level = '40'; r($gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag)) && p('message') && e('404 Project Not Found'); //使用正确的gitlabID、保护标签信息,错误的projectID创建保护标签 -$projectID = 1555; +$projectID = 2; $gitlab->apiDeleteTagPriv($gitlabID, $projectID, $tag->name); -r($gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag)) && p('name') && e('test_tag1'); //使用正确的gitlabID、projectID、保护标签信息创建保护标签 -r($gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag)) && p('message:0') && e("名称已经被使用"); //使用重复的保护标签信息创建保护标签 \ No newline at end of file +r($gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag)) && p('name') && e('tag1'); //使用正确的gitlabID、projectID、保护标签信息创建保护标签 +r($gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag)) && p('message:0') && e("名称 已经被使用"); //使用重复的保护标签信息创建保护标签 \ No newline at end of file diff --git a/module/gitlab/test/model/apideletebranchpriv.php b/module/gitlab/test/model/apideletebranchpriv.php index 09f5625376..21d26613e9 100755 --- a/module/gitlab/test/model/apideletebranchpriv.php +++ b/module/gitlab/test/model/apideletebranchpriv.php @@ -5,16 +5,18 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiDeleteBranchPriv(); +timeout=0 cid=1 -pid=1 -使用空的gitlabID,projectID,分支名称删除保护分支 >> return false -使用正确的gitlabID、保护分支信息,错误的projectID删除保护分支 >> 404 Project Not Found -通过gitlabID,projectID,分支名称正确删除保护分支 >> return true -使用错误的保护分支信息删除保护分支 >> 404 Not found +- 使用空的gitlabID,projectID,分支名称删除保护分支 @return false +- 使用正确的gitlabID、保护分支信息,错误的projectID删除保护分支属性message @404 Project Not Found +- 通过gitlabID,projectID,分支名称正确删除保护分支 @return true +- 使用错误的保护分支信息删除保护分支属性message @404 Not found */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 0; @@ -30,8 +32,10 @@ $branch = 'master'; $result = $gitlab->apiDeleteBranchPriv($gitlabID, $projectID, $branch); r($result) && p('message') && e('404 Project Not Found'); //使用正确的gitlabID、保护分支信息,错误的projectID删除保护分支 -$projectID = 1565; -$result = $gitlab->apiDeleteBranchPriv($gitlabID, $projectID, $branch); +$projectID = 2; +$branch = (object)array('name' => 'branch1', 'merge_access_level' => 40, 'push_access_level' => 40); +$gitlab->apiCreateBranchPriv($gitlabID, $projectID, $branch); +$result = $gitlab->apiDeleteBranchPriv($gitlabID, $projectID, $branch->name); if(!$result or substr($result->message, 0, 2) == '20') $result = 'return true'; r($result) && p() && e('return true'); //通过gitlabID,projectID,分支名称正确删除保护分支 diff --git a/module/gitlab/test/model/apideletetag.php b/module/gitlab/test/model/apideletetag.php index c05905722a..606db40f08 100755 --- a/module/gitlab/test/model/apideletetag.php +++ b/module/gitlab/test/model/apideletetag.php @@ -5,17 +5,19 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiDeleteTag(); +timeout=0 cid=1 -pid=1 -使用空的gitlabID,projectID,分支名称删除保护分支 >> return false -使用正确的gitlabID、错误的projectID删除标签 >> 404 Project Not Found -使用正确的gitlabID、projectID,不存在的标签删除 >> 404 Tag Not Found -删除受保护的标签 >> Protected tags cannot be deleted -成功删除标签 >> return true +- 使用空的gitlabID,projectID,分支名称删除保护分支 @return false +- 使用正确的gitlabID、错误的projectID删除标签属性message @404 Project Not Found +- 使用正确的gitlabID、projectID,不存在的标签删除属性message @404 Tag Not Found +- 删除受保护的标签属性message @You are not allowed to create this tag as it is protected. +- 成功删除标签属性message @return true */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 0; @@ -27,23 +29,21 @@ if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用空的gitlabID,projectID,分支名称删除保护分支 $gitlabID = 1; -$projectID = 1; +$projectID = 1552; $tagName = 'testTagName'; $result = $gitlab->apiDeleteTag($gitlabID, $projectID, $tagName); r($result) && p('message') && e('404 Project Not Found'); //使用正确的gitlabID、错误的projectID删除标签 -$projectID = 1555; +$projectID = 2; $result = $gitlab->apiDeleteTag($gitlabID, $projectID, $tagName); r($result) && p('message') && e('404 Tag Not Found'); //使用正确的gitlabID、projectID,不存在的标签删除 -$tagName = 'test_tag3'; +$tagName = 'tag3'; $result = $gitlab->apiDeleteTag($gitlabID, $projectID, $tagName); -r($result) && p('message') && e('Protected tags cannot be deleted'); //删除受保护的标签 +r($result) && p('message') && e('You are not allowed to create this tag as it is protected.'); //删除受保护的标签 -$tagName = 'testTagName'; -$_POST['tag_name'] = $tagName; -$_POST['ref'] = 'master'; -$gitlab->createTag($gitlabID, $projectID); -$result = $gitlab->apiDeleteTag($gitlabID, $projectID, $tagName); +$tag = (object)array('tag_name' => 'test_tag17', 'ref' => 'master'); +$gitlab->createTag($gitlabID, $projectID, $tag); +$result = $gitlab->apiDeleteTag($gitlabID, $projectID, $tag->tag_name); if(!$result or substr($result->message, 0, 2) == '20') $result = 'return true'; r($result) && p('message') && e('return true'); //成功删除标签 \ No newline at end of file diff --git a/module/gitlab/test/model/apideletetagpriv.php b/module/gitlab/test/model/apideletetagpriv.php index bb0b9da7f0..584299e4d6 100755 --- a/module/gitlab/test/model/apideletetagpriv.php +++ b/module/gitlab/test/model/apideletetagpriv.php @@ -5,16 +5,18 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiDeleteTagPriv(); +timeout=0 cid=1 -pid=1 -使用空的gitlabID,projectID,标签名称删除保护标签 >> return false -使用正确的gitlabID、保护标签信息,错误的projectID删除保护标签 >> 404 Project Not Found -使用错误的保护标签信息删除保护标签 >> 404 Not found -通过gitlabID,projectID,标签名称正确删除保护标签 >> return true +- 使用空的gitlabID,projectID,标签名称删除保护标签 @return false +- 使用正确的gitlabID、保护标签信息,错误的projectID删除保护标签属性message @404 Project Not Found +- 使用错误的保护标签信息删除保护标签属性message @404 Not found +- 通过gitlabID,projectID,标签名称正确删除保护标签 @return true */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 0; @@ -30,13 +32,14 @@ $tag = '2021/12/30'; $result = $gitlab->apiDeleteTagPriv($gitlabID, $projectID, $tag); r($result) && p('message') && e('404 Project Not Found'); //使用正确的gitlabID、保护标签信息,错误的projectID删除保护标签 -$projectID = 1552; +$projectID = 2; $tag = 'masters'; $result = $gitlab->apiDeleteTagPriv($gitlabID, $projectID, $tag); r($result) && p('message') && e('404 Not found'); //使用错误的保护标签信息删除保护标签 -$projectID = 1555; -$tag = 'test_tag1'; -$result = $gitlab->apiDeleteTagPriv($gitlabID, $projectID, $tag); +$projectID = 2; +$tag = (object)array('name' => 'test_tag17', 'create_access_level' => '40'); +$gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag); +$result = $gitlab->apiDeleteTagPriv($gitlabID, $projectID, $tag->name); if(!$result or substr($result->message, 0, 2) == '20') $result = 'return true'; r($result) && p() && e('return true'); //通过gitlabID,projectID,标签名称正确删除保护标签 \ No newline at end of file diff --git a/module/gitlab/test/model/apigetbranches.php b/module/gitlab/test/model/apigetbranches.php index 44f4ea7f1c..ab3f01a878 100755 --- a/module/gitlab/test/model/apigetbranches.php +++ b/module/gitlab/test/model/apigetbranches.php @@ -5,21 +5,23 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiGetBranches(); +timeout=0 cid=1 -pid=1 -通过gitlabID,projectID,获取GitLab分支列表 >> 1 -通过gitlabID,projectID,获取GitLab分支数量 >> 1 -当前项目没有分支时,获取GitLab分支列表 >> 0 -当gitlabID存在,projectID不存在时,获取GitLab分支列表 >> return empty -当gitlabID,projectID都为0时,获取GitLab分支列表 >> return empty +- 通过gitlabID,projectID,获取GitLab分支列表 @1 +- 通过gitlabID,projectID,获取GitLab分支数量 @1 +- 当前项目没有分支时,获取GitLab分支列表 @0 +- 当gitlabID存在,projectID不存在时,获取GitLab分支列表 @return empty +- 当gitlabID,projectID都为0时,获取GitLab分支列表 @return empty */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 1; -$projectID = 1552; +$projectID = 2; $result = $gitlab->apiGetBranches($gitlabID, $projectID); r(isset(array_shift($result)->name)) && p() && e('1'); //通过gitlabID,projectID,获取GitLab分支列表 r(count($result) > 0) && p() && e('1'); //通过gitlabID,projectID,获取GitLab分支数量 diff --git a/module/gitlab/test/model/apigetbranchprivs.php b/module/gitlab/test/model/apigetbranchprivs.php index 9b244a2537..9eab23331f 100755 --- a/module/gitlab/test/model/apigetbranchprivs.php +++ b/module/gitlab/test/model/apigetbranchprivs.php @@ -5,28 +5,30 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiGetBranchPrivs(); +timeout=0 cid=1 -pid=1 -获取指定项目下受保护分支列表 >> master -获取指定项目下受保护分支数量 >> 3 -获取无保护分支的项目下受保护分支数量 >> 0 -通过不存在projectID,获取受保护分支列表 >> 404 Project Not Found -当gitlabID,projectID都为0时,获取受保护分支列表 >> return empty +- 获取指定项目下受保护分支列表第master条的name属性 @master +- 获取指定项目下受保护分支数量 @1 +- 获取无保护分支的项目下受保护分支数量 @0 +- 通过不存在projectID,获取受保护分支列表属性message @404 Project Not Found +- 当gitlabID,projectID都为0时,获取受保护分支列表 @return empty */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 1; -$projectID = 961; +$projectID = 2; $keyword = ''; $orderBy = 'name_desc'; $result = $gitlab->apiGetBranchPrivs($gitlabID, $projectID, $keyword, $orderBy); -r($result) && p('master:name') && e('master'); //获取指定项目下受保护分支列表 -r(count($result)) && p() && e('3'); //获取指定项目下受保护分支数量 +r($result) && p('master:name') && e('master'); //获取指定项目下受保护分支列表 +r(count($result) > 0) && p() && e('1'); //获取指定项目下受保护分支数量 -$projectID = 1572; +$projectID = 1; r(count($gitlab->apiGetBranchPrivs($gitlabID, $projectID))) && p() && e('0'); //获取无保护分支的项目下受保护分支数量 $projectID = 0; diff --git a/module/gitlab/test/model/apigetcurrentuser.php b/module/gitlab/test/model/apigetcurrentuser.php index 381ec2cab3..a56ea5d5c7 100755 --- a/module/gitlab/test/model/apigetcurrentuser.php +++ b/module/gitlab/test/model/apigetcurrentuser.php @@ -5,14 +5,14 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiGetCurrentUser(); +timeout=0 cid=1 -pid=1 -使用空的数据获取用户信息 >> return false -使用错误的host获取用户信息 >> return null -使用正确的host,错误的token获取用户信息 >> 401 Unauthorized -通过host,token获取用户信息 >> 1 -通过host,权限不足的token获取用户信息 >> insufficient_scope +- 使用空的数据获取用户信息 @return false +- 使用错误的host获取用户信息 @return null +- 使用正确的host,错误的token获取用户信息属性message @401 Unauthorized +- 通过host,token获取用户信息属性id @1 +- 通过host,权限不足的token获取用户信息属性error @insufficient_scope */ @@ -30,14 +30,14 @@ $result = $gitlab->apiGetCurrentUser($host, $token); if(!$result) $result = 'return null'; r($result) && p() && e('return null'); //使用错误的host获取用户信息 -$host = 'http://10.0.7.242:9980'; +$host = 'https://gitlabdev.qc.oop.cc'; $result = $gitlab->apiGetCurrentUser($host, $token); r($gitlab->apiGetCurrentUser($host, $token)) && p('message') && e('401 Unauthorized'); //使用正确的host,错误的token获取用户信息 -$token = 'y2UBqwPPzaLxsniy8R6A'; +$token = 'glpat-b8Sa1pM9k9ygxMZYPN6w'; $result = $gitlab->apiGetCurrentUser($host, $token); r($result) && p('id') && e('1'); //通过host,token获取用户信息 -$token = 'wVFHE6NZA-cJy-3U2y2J'; +$token = 'glpat-NqAvs1dRxHAvr2tskCZV'; $result = $gitlab->apiGetCurrentUser($host, $token); -r($result) && p('error') && e('insufficient_scope'); //通过host,权限不足的token获取用户信息 +r($result) && p('error') && e('insufficient_scope'); //通过host,权限不足的token获取用户信息 \ No newline at end of file diff --git a/module/gitlab/test/model/apigetgroupmembers.php b/module/gitlab/test/model/apigetgroupmembers.php index 3d77e98c77..f2b4158cf0 100755 --- a/module/gitlab/test/model/apigetgroupmembers.php +++ b/module/gitlab/test/model/apigetgroupmembers.php @@ -5,14 +5,14 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiGetGroupMembers(); +timeout=0 cid=1 -pid=1 -使用空的数据查询群组用户 >> return null -使用空的groupID查询群组用户 >> return null -使用错误的groupID查询群组用户 >> return null -通过gitlabID,groupID查询群组用户 >> return true -通过gitlabID,groupID,userID查询群组用户 >> return true +- 使用空的数据查询群组用户 @return null +- 使用空的groupID查询群组用户 @return null +- 使用错误的groupID查询群组用户 @return null +- 通过gitlabID,groupID查询群组用户 @return true +- 通过gitlabID,groupID,userID查询群组用户 @return true */ diff --git a/module/gitlab/test/model/apigetgroups.php b/module/gitlab/test/model/apigetgroups.php index 7e28d48db3..95280559cc 100755 --- a/module/gitlab/test/model/apigetgroups.php +++ b/module/gitlab/test/model/apigetgroups.php @@ -5,14 +5,14 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiGetGroups(); +timeout=0 cid=1 -pid=1 -使用空的数据查询群组 >> return null -使用正确的gitlabID查询群组 >> return true -使用错误的orderBy查询群组 >> return true -通过gitlabID,orderBy查询群组 >> return true -通过错误的minRole查询群组 >> return true +- 使用空的数据查询群组 @return null +- 使用正确的gitlabID查询群组 @return true +- 使用错误的orderBy查询群组 @return true +- 通过gitlabID,orderBy查询群组 @return true +- 通过错误的minRole查询群组 @return true */ diff --git a/module/gitlab/test/model/apigetsinglebranchpriv.php b/module/gitlab/test/model/apigetsinglebranchpriv.php deleted file mode 100755 index 04168844f5..0000000000 --- a/module/gitlab/test/model/apigetsinglebranchpriv.php +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env php -> return false -使用正确的gitlabID、保护分支信息,错误的projectID获取保护分支 >> 404 Project Not Found -通过gitlabID,projectID,分支名称正确获取保护分支 >> master -使用错误的保护分支信息获取保护分支 >> 404 Not found - -*/ - -$gitlab = $tester->loadModel('gitlab'); - -$gitlabID = 0; -$projectID = 0; -$branch = ''; - -$result = $gitlab->apiGetSingleBranchPriv($gitlabID, $projectID, $branch); -if($result === false) $result = 'return false'; -r($result) && p() && e('return false'); //使用空的gitlabID,projectID,分支名称获取保护分支 - -$gitlabID = 1; -$branch = 'master'; -$result = $gitlab->apiGetSingleBranchPriv($gitlabID, $projectID, $branch); -r($result) && p('message') && e('404 Project Not Found'); //使用正确的gitlabID、保护分支信息,错误的projectID获取保护分支 - -$projectID = 1552; -$result = $gitlab->apiGetSingleBranchPriv($gitlabID, $projectID, $branch); -r($result) && p('name') && e('master'); //通过gitlabID,projectID,分支名称正确获取保护分支 - -$branch = 'masters'; -$result = $gitlab->apiGetSingleBranchPriv($gitlabID, $projectID, $branch); -r($result) && p('message') && e('404 Not found'); //使用错误的保护分支信息获取保护分支 \ No newline at end of file diff --git a/module/gitlab/test/model/apigetsingletag.php b/module/gitlab/test/model/apigetsingletag.php index c6dc5971ee..8c1bc0f5ca 100755 --- a/module/gitlab/test/model/apigetsingletag.php +++ b/module/gitlab/test/model/apigetsingletag.php @@ -7,24 +7,26 @@ su('admin'); /** title=测试gitlabModel->apiGetSingleTag(); +timeout=0 cid=1 -pid=1 -查询正确的tag信息 >> 1230 -使用不存在的gitlabID查询tag信息 >> 0 -使用不存在的projectID查询tag信息 >> 404 Project Not Found -使用不存在的tag名称查询tag信息 >> 404 Tag Not Found +- 查询正确的tag信息属性name @tag3 +- 使用不存在的gitlabID查询tag信息 @0 +- 使用不存在的projectID查询tag信息属性message @404 Project Not Found +- 使用不存在的tag名称查询tag信息属性message @404 Tag Not Found */ +zdTable('pipeline')->gen(5); + $gitlab = new gitlabTest(); -$tag1 = $gitlab->apiGetSingleTagTest(1, 1569, '1230'); -$tag2 = $gitlab->apiGetSingleTagTest(0, 1569, '1230'); -$tag3 = $gitlab->apiGetSingleTagTest(1, 0, '1230'); -$tag4 = $gitlab->apiGetSingleTagTest(1, 1569, '0'); +$tag1 = $gitlab->apiGetSingleTagTest(1, 2, 'tag3'); +$tag2 = $gitlab->apiGetSingleTagTest(0, 2, 'tag3'); +$tag3 = $gitlab->apiGetSingleTagTest(1, 0, 'tag3'); +$tag4 = $gitlab->apiGetSingleTagTest(1, 2, '0'); -r($tag1) && p('name') && e('1230'); // 查询正确的tag信息 +r($tag1) && p('name') && e('tag3'); // 查询正确的tag信息 r($tag2) && p() && e('0'); // 使用不存在的gitlabID查询tag信息 r($tag3) && p('message') && e('404 Project Not Found'); // 使用不存在的projectID查询tag信息 -r($tag4) && p('message') && e('404 Tag Not Found'); // 使用不存在的tag名称查询tag信息 +r($tag4) && p('message') && e('404 Tag Not Found'); // 使用不存在的tag名称查询tag信息 \ No newline at end of file diff --git a/module/gitlab/test/model/apigettagprivs.php b/module/gitlab/test/model/apigettagprivs.php index fccc0336ed..1ba944989e 100755 --- a/module/gitlab/test/model/apigettagprivs.php +++ b/module/gitlab/test/model/apigettagprivs.php @@ -5,27 +5,29 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiGetTagPrivs(); +timeout=0 cid=1 -pid=1 -通过gitlabID,projectID,获取GitLab标签保护列表 >> 1 -通过gitlabID,projectID,获取GitLab标签保护数量 >> 1 -当前项目没有标签保护时,获取GitLab标签保护列表 >> 0 -通过gitlabID,projectID,获取GitLab标签保护列表 >> return empty -当gitlabID,projectID都为0时,获取GitLab标签保护列表 >> return empty +- 通过gitlabID,projectID,获取GitLab标签保护列表 @1 +- 通过gitlabID,projectID,获取GitLab标签保护数量 @1 +- 当前项目没有标签保护时,获取GitLab标签保护列表 @0 +- 通过gitlabID,projectID,获取GitLab标签保护列表 @return empty +- 当gitlabID,projectID都为0时,获取GitLab标签保护列表 @return empty */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 1; -$projectID = 1552; +$projectID = 2; $result = $gitlab->apiGetTagPrivs($gitlabID, $projectID); r(isset(array_shift($result)->name)) && p() && e('1'); //通过gitlabID,projectID,获取GitLab标签保护列表 r(count($result) > 0) && p() && e('1'); //通过gitlabID,projectID,获取GitLab标签保护数量 $gitlabID = 1; -$projectID = 1570; +$projectID = 1; r(count($gitlab->apiGetTagPrivs($gitlabID, $projectID))) && p() && e('0'); //当前项目没有标签保护时,获取GitLab标签保护列表 $gitlabID = 1; diff --git a/module/gitlab/test/model/apigettags.php b/module/gitlab/test/model/apigettags.php index 4ed2e8a96f..9bfb21bca7 100755 --- a/module/gitlab/test/model/apigettags.php +++ b/module/gitlab/test/model/apigettags.php @@ -5,30 +5,31 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::apiGetTags(); +timeout=0 cid=1 -pid=1 -通过gitlabID,projectID,获取GitLab标签列表 >> 1 -通过gitlabID,projectID,获取GitLab标签数量 >> 1 -当前项目没有标签时,获取GitLab标签列表 >> 0 -通过gitlabID,projectID,获取GitLab标签列表 >> return empty -当gitlabID,projectID都为0时,获取GitLab标签列表 >> return empty -通过gitlabID,projectID,按标签名升序获取GitLab标签列表 >> with_cicredentials -通过gitlabID,projectID,搜索字符'zentaopms_15.2_20210720'获取GitLab标签列表 >> zentaopms_15.2_20210720 -通过gitlabID,projectID,每页20条记录,分页获取第二页GitLab标签列表 >> zentaopms_2.0_stable_20110503 +- 通过gitlabID,projectID,获取GitLab标签列表 @1 +- 通过gitlabID,projectID,获取GitLab标签数量 @1 +- 当前项目没有标签时,获取GitLab标签列表 @0 +- 通过gitlabID,projectID,获取GitLab标签列表 @return empty +- 当gitlabID,projectID都为0时,获取GitLab标签列表 @return empty +- 通过gitlabID,projectID,按标签名升序获取GitLab标签列表第1条的name属性 @tag1 +- 通过gitlabID,projectID,搜索字符'zentaopms_15.2_20210720'获取GitLab标签列表第0条的name属性 @keyword_tag */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 1; -$projectID = 1552; +$projectID = 2; $result = $gitlab->apiGetTags($gitlabID, $projectID); r(isset($result[0]->name)) && p() && e('1'); //通过gitlabID,projectID,获取GitLab标签列表 r(count($result) > 0) && p() && e('1'); //通过gitlabID,projectID,获取GitLab标签数量 $gitlabID = 1; -$projectID = 1570; +$projectID = 1; r(count($gitlab->apiGetTags($gitlabID, $projectID))) && p() && e('0'); //当前项目没有标签时,获取GitLab标签列表 $gitlabID = 1; @@ -44,16 +45,11 @@ if(empty($result)) $result = 'return empty'; r($result) && p() && e('return empty'); //当gitlabID,projectID都为0时,获取GitLab标签列表 $gitlabID = 1; -$projectID = 964; +$projectID = 2; $orderBy = 'name_asc'; $result = $gitlab->apiGetTags($gitlabID, $projectID, $orderBy); -r($result) && p('0:name') && e('with_cicredentials'); //通过gitlabID,projectID,按标签名升序获取GitLab标签列表 +r($result) && p('1:name') && e('tag1'); //通过gitlabID,projectID,按标签名升序获取GitLab标签列表 -$keyword = 'zentaopms_15.2_20210720'; +$keyword = 'keyword'; $result = $gitlab->apiGetTags($gitlabID, $projectID, $orderBy, $keyword); -r($result) && p('0:name') && e('zentaopms_15.2_20210720'); //通过gitlabID,projectID,搜索字符'zentaopms_15.2_20210720'获取GitLab标签列表 - -$tester->app->loadClass('pager', $static = true); -$pager = new pager(0, 20, 2); -$result = $gitlab->apiGetTags($gitlabID, $projectID, $orderBy, '', $pager); -r($result) && p('0:name') && e('zentaopms_2.0_stable_20110503'); //通过gitlabID,projectID,每页20条记录,分页获取第二页GitLab标签列表 \ No newline at end of file +r($result) && p('0:name') && e('keyword_tag'); //通过gitlabID,projectID,搜索字符'zentaopms_15.2_20210720'获取GitLab标签列表 \ No newline at end of file diff --git a/module/gitlab/test/model/checkaccesslevel.php b/module/gitlab/test/model/checkaccesslevel.php index 326d0bdccd..81a6c4903d 100755 --- a/module/gitlab/test/model/checkaccesslevel.php +++ b/module/gitlab/test/model/checkaccesslevel.php @@ -5,14 +5,14 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::checkAccessLevel(); +timeout=0 cid=1 -pid=1 -使用空的权限信息查询 >> 40 -使用只有维护者权限信息查询 >> 40 -使用包含维护者和开发者权限信息查询 >> 30 -使用包含禁止权限信息查询 >> 0 -使用包含禁止权限信息的二维数组查询 >> 0 +- 使用空的权限信息查询 @40 +- 使用只有维护者权限信息查询 @40 +- 使用包含维护者和开发者权限信息查询 @30 +- 使用包含禁止权限信息查询 @0 +- 使用包含禁止权限信息的二维数组查询 @0 */ diff --git a/module/gitlab/test/model/checktokenaccess.php b/module/gitlab/test/model/checktokenaccess.php index 1df451b6ec..e135a98bd2 100755 --- a/module/gitlab/test/model/checktokenaccess.php +++ b/module/gitlab/test/model/checktokenaccess.php @@ -5,14 +5,14 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::checkTokenAccess(); +timeout=0 cid=1 -pid=1 -使用空的数据验证token权限 >> return false -使用错误的host验证token权限 >> return false -使用正确的host,错误的token验证token权限 >> return null -通过host,token验证token权限 >> success -通过host,权限不足的token验证token权限 >> no access +- 使用空的数据验证token权限 @return false +- 使用错误的host验证token权限 @return false +- 使用正确的host,错误的token验证token权限 @return null +- 通过host,token验证token权限 @success +- 通过host,权限不足的token验证token权限 @no access */ @@ -43,4 +43,4 @@ r($result) && p() && e('success'); //通过host,token验证token权限 $token = 'wVFHE6NZA-cJy-3U2y2J'; $result = $gitlab->checkTokenAccess($host, $token); if(!isset($result->id)) $result = 'no access'; -r($result) && p() && e('no access'); //通过host,权限不足的token验证token权限 +r($result) && p() && e('no access'); //通过host,权限不足的token验证token权限 \ No newline at end of file diff --git a/module/gitlab/test/model/checkuseraccess.php b/module/gitlab/test/model/checkuseraccess.php index 1598f84059..cf2c980502 100755 --- a/module/gitlab/test/model/checkuseraccess.php +++ b/module/gitlab/test/model/checkuseraccess.php @@ -5,34 +5,37 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::checkUserAccess(); +timeout=0 cid=1 -pid=1 -使用超级管理员判断权限 >> 1 -切换普通用户,使用错误的项目ID判断权限 >> 0 -切换普通用户,使用当前用户无身份的项目ID判断权限 >> 0 -切换普通用户,使用当前用户是拥有者的项目ID判断权限 >> 1 -切换普通用户,使用错误的项目信息判断权限是否有维护者权限 >> 0 -切换普通用户,使用错误的项目信息判断权限是否有维护者权限 >> 1 -切换普通用户,使用当前用户是开发者的项目ID判断权限是否有维护者权限 >> 0 -切换普通用户,使用当前用户是拥有者的项目ID判断权限是否有维护者权限 >> 1 +- 使用超级管理员判断权限 @1 +- 切换普通用户,使用错误的项目ID判断权限 @0 +- 切换普通用户,使用当前用户无身份的项目ID判断权限 @0 +- 切换普通用户,使用当前用户是拥有者的项目ID判断权限 @1 +- 切换普通用户,使用错误的项目信息判断权限是否有维护者权限 @0 +- 切换普通用户,使用错误的项目信息判断权限是否有维护者权限 @1 +- 切换普通用户,使用当前用户是开发者的项目ID判断权限是否有维护者权限 @0 +- 切换普通用户,使用当前用户是拥有者的项目ID判断权限是否有维护者权限 @1 */ +zdTable('pipeline')->gen(5); +zdTable('user')->gen(10); + $gitlab = $tester->loadModel('gitlab'); su('admin'); $gitlabID = 1; r($gitlab->checkUserAccess($gitlabID)) && p() && e('1'); //使用超级管理员判断权限 -su('user57'); +su('user6'); $projectID = 0; r($gitlab->checkUserAccess($gitlabID, $projectID)) && p() && e('0'); //切换普通用户,使用错误的项目ID判断权限 -$projectID = 1582; +$projectID = 1; r($gitlab->checkUserAccess($gitlabID, $projectID)) && p() && e('0'); //切换普通用户,使用当前用户无身份的项目ID判断权限 -$projectID = 1588; +$projectID = 2; r($gitlab->checkUserAccess($gitlabID, $projectID)) && p() && e('1'); //切换普通用户,使用当前用户是拥有者的项目ID判断权限 $project = new stdclass(); diff --git a/module/gitlab/test/model/create.php b/module/gitlab/test/model/create.php deleted file mode 100644 index bb97bbd5fc..0000000000 --- a/module/gitlab/test/model/create.php +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env php -create(); -cid=1 -pid=1 - -GitLab名称为空 >> name -服务器地址为空 >> url -正确GitLab数据 >> GitLab,http://10.0.7.242:9980,1196c85ba525a268570df9da627e3a7b2d - -*/ - -$gitlab = new gitlabTest(); - -$_POST = array(); -$_POST['name'] = ''; -$_POST['url'] = 'http://10.0.7.242:9980'; -$_POST['token'] = 'y2UBqwPPzaLxsniy8R6A'; -$_POST['password'] = ''; - -r($gitlab->create()) && p() && e('name'); // GitLab名称为空 - -$_POST['name'] = 'GitLab'; -$_POST['url'] = ''; -r($gitlab->create()) && p() && e('url'); // 服务器地址为空 - -$_POST['url'] = 'http://10.0.7.242:9980'; -r($gitlab->create()) && p('name,url,token') && e('GitLab,http://10.0.7.242:9980,y2UBqwPPzaLxsniy8R6A'); // 正确GitLab数据 - -system("./ztest init"); diff --git a/module/gitlab/test/model/createbranch.php b/module/gitlab/test/model/createbranch.php index 63eb0a5cc9..6dbb7b7527 100755 --- a/module/gitlab/test/model/createbranch.php +++ b/module/gitlab/test/model/createbranch.php @@ -5,51 +5,54 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::createBranch(); +timeout=0 cid=1 -pid=1 -使用空的gitlabID,projectID,分支对象创建GitLab分支 >> return false -使用空的gitlabID、projectID,正确的分支对象创建GitLab分支 >> return false -使用正确的gitlabID、分支信息,错误的projectID创建分支 >> return false -通过gitlabID,projectID,分支对象正确创建GitLab分支 >> return true -使用重复的分支信息创建分支 >> return false +- 使用空的gitlabID,projectID,分支对象创建GitLab分支 @return false +- 使用空的gitlabID、projectID,正确的分支对象创建GitLab分支 @return false +- 使用正确的gitlabID、分支信息,错误的projectID创建分支 @return false +- 通过gitlabID,projectID,分支对象正确创建GitLab分支 @return true +- 使用重复的分支信息创建分支 @return false */ +zdTable('pipeline')->gen(5); + $gitlab = $tester->loadModel('gitlab'); $gitlabID = 0; $projectID = 0; +$branch = new stdclass(); -$result = $gitlab->createBranch($gitlabID, $projectID); +$result = $gitlab->createBranch($gitlabID, $projectID, $branch); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用空的gitlabID,projectID,分支对象创建GitLab分支 dao::$errors = array(); -$_POST['branch'] = 'test_branch17'; -$_POST['ref'] = 'master'; -$result = $gitlab->createBranch($gitlabID, $projectID); +$branch->branch = 'test_branch17'; +$branch->ref = 'master'; +$result = $gitlab->createBranch($gitlabID, $projectID, $branch); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用空的gitlabID、projectID,正确的分支对象创建GitLab分支 dao::$errors = array(); $gitlabID = 1; -$result = $gitlab->createBranch($gitlabID, $projectID); +$result = $gitlab->createBranch($gitlabID, $projectID, $branch); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用正确的gitlabID、分支信息,错误的projectID创建分支 dao::$errors = array(); -$projectID = 1555; +$projectID = 2; /* Delete branches with the same name. */ $apiRoot = $gitlab->getApiRoot($gitlabID); -$url = sprintf($apiRoot, "/projects/{$projectID}/repository/branches/{$_POST['branch']}"); +$url = sprintf($apiRoot, "/projects/{$projectID}/repository/branches/{$branch->branch}"); commonModel::http($url, array(), $options = array(CURLOPT_CUSTOMREQUEST => 'DELETE')); -$result = $gitlab->createBranch($gitlabID, $projectID); +$result = $gitlab->createBranch($gitlabID, $projectID, $branch); if($result === true) $result = 'return true'; r($result) && p() && e('return true'); //通过gitlabID,projectID,分支对象正确创建GitLab分支 -$result = $gitlab->createBranch($gitlabID, $projectID); +$result = $gitlab->createBranch($gitlabID, $projectID, $branch); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用重复的分支信息创建分支 \ No newline at end of file diff --git a/module/gitlab/test/model/createbranchpriv.php b/module/gitlab/test/model/createbranchpriv.php deleted file mode 100755 index 3453e65bd4..0000000000 --- a/module/gitlab/test/model/createbranchpriv.php +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/env php -> return false -使用空的gitlabID、projectID,正确的保护分支对象创建GitLab保护分支 >> return false -使用正确的gitlabID、保护分支信息,错误的projectID创建保护分支 >> return false -通过gitlabID,projectID,保护分支对象正确创建GitLab保护分支 >> return true -使用重复的保护分支信息创建保护分支 >> return false -使用保护分支信息更新保护分支 >> return true - -*/ - -$gitlab = $tester->loadModel('gitlab'); - -$gitlabID = 0; -$projectID = 0; - -$result = $gitlab->createBranchPriv($gitlabID, $projectID); -if($result === false) $result = 'return false'; -r($result) && p() && e('return false'); //使用空的gitlabID,projectID,保护分支对象创建GitLab保护分支 - -dao::$errors = array(); -$_POST['name'] = 'master'; -$_POST['merge_access_level'] = '40'; -$_POST['push_access_level'] = '40'; -$result = $gitlab->createBranchPriv($gitlabID, $projectID); -if($result === false) $result = 'return false'; -r($result) && p() && e('return false'); //使用空的gitlabID、projectID,正确的保护分支对象创建GitLab保护分支 - -dao::$errors = array(); -$gitlabID = 1; -$result = $gitlab->createBranchPriv($gitlabID, $projectID); -if($result === false) $result = 'return false'; -r($result) && p() && e('return false'); //使用正确的gitlabID、保护分支信息,错误的projectID创建保护分支 - -dao::$errors = array(); -$projectID = 1565; -$result = $gitlab->createBranchPriv($gitlabID, $projectID); -if($result === true) $result = 'return true'; -r($result) && p() && e('return true'); //通过gitlabID,projectID,保护分支对象正确创建GitLab保护分支 - -$result = $gitlab->createBranchPriv($gitlabID, $projectID); -if($result === false) $result = 'return false'; -r($result) && p() && e('return false'); //使用重复的保护分支信息创建保护分支 - -dao::$errors = array(); -$_POST['merge_access_level'] = '0'; -$result = $gitlab->createBranchPriv($gitlabID, $projectID, $branch = 'master'); -if($result === true) $result = 'return true'; -r($result) && p() && e('return true'); //使用保护分支信息更新保护分支 \ No newline at end of file diff --git a/module/gitlab/test/model/createtag.php b/module/gitlab/test/model/createtag.php index dc54a8f47b..d937b59a23 100755 --- a/module/gitlab/test/model/createtag.php +++ b/module/gitlab/test/model/createtag.php @@ -5,14 +5,14 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::createTag(); +timeout=0 cid=1 -pid=1 -使用空的gitlabID,projectID,标签对象创建GitLab标签 >> return false -使用空的gitlabID、projectID,正确的标签对象创建GitLab标签 >> return false -使用正确的gitlabID、标签信息,错误的projectID创建标签 >> return false -通过gitlabID,projectID,标签对象正确创建GitLab标签 >> return true -使用重复的标签信息创建标签 >> return false +- 使用空的gitlabID,projectID,标签对象创建GitLab标签 @return false +- 使用空的gitlabID、projectID,正确的标签对象创建GitLab标签 @return false +- 使用正确的gitlabID、标签信息,错误的projectID创建标签 @return false +- 通过gitlabID,projectID,标签对象正确创建GitLab标签 @return true +- 使用重复的标签信息创建标签 @return false */ @@ -20,35 +20,35 @@ $gitlab = $tester->loadModel('gitlab'); $gitlabID = 0; $projectID = 0; +$tag = (object)array('tag_name' => 'test_tag17', 'ref' => 'master'); +$emptyTag = new stdclass(); -$result = $gitlab->createTag($gitlabID, $projectID); +$result = $gitlab->createTag($gitlabID, $projectID, $emptyTag); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用空的gitlabID,projectID,标签对象创建GitLab标签 dao::$errors = array(); -$_POST['tag_name'] = 'test_tag17'; -$_POST['ref'] = 'master'; -$result = $gitlab->createTag($gitlabID, $projectID); +$result = $gitlab->createTag($gitlabID, $projectID, $tag); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用空的gitlabID、projectID,正确的标签对象创建GitLab标签 dao::$errors = array(); $gitlabID = 1; -$result = $gitlab->createTag($gitlabID, $projectID); +$result = $gitlab->createTag($gitlabID, $projectID, $tag); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用正确的gitlabID、标签信息,错误的projectID创建标签 dao::$errors = array(); -$projectID = 1555; +$projectID = 2; /* Delete tags with the same name. */ -$gitlab->apiDeleteTagPriv($gitlabID, $projectID, $_POST['tag_name']); -$gitlab->apiDeleteTag($gitlabID, $projectID, $_POST['tag_name']); +$gitlab->apiDeleteTagPriv($gitlabID, $projectID, $tag->tag_name); +$gitlab->apiDeleteTag($gitlabID, $projectID, $tag->tag_name); -$result = $gitlab->createTag($gitlabID, $projectID); +$result = $gitlab->createTag($gitlabID, $projectID, $tag); if($result === true) $result = 'return true'; r($result) && p() && e('return true'); //通过gitlabID,projectID,标签对象正确创建GitLab标签 -$result = $gitlab->createTag($gitlabID, $projectID); +$result = $gitlab->createTag($gitlabID, $projectID, $tag); if($result === false) $result = 'return false'; r($result) && p() && e('return false'); //使用重复的标签信息创建标签 \ No newline at end of file diff --git a/module/gitlab/test/model/createtagpriv.php b/module/gitlab/test/model/createtagpriv.php deleted file mode 100755 index ee13e5c172..0000000000 --- a/module/gitlab/test/model/createtagpriv.php +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env php -> 标签不能为空 -使用正确的保护标签对象,空的gitlabID、projectID创建GitLab保护标签 >> return false -使用正确的gitlabID、保护标签信息,错误的projectID创建保护标签 >> 404 Project Not Found -使用正确的gitlabID、projectID和保护标签信息创建保护标签 >> return true -使用正确的gitlabID、projectID、保护标签信息,编辑保护标签 >> return true - -*/ - -$gitlab = $tester->loadModel('gitlab'); - -$gitlabID = 0; -$projectID = 0; - -$gitlab->createTagPriv($gitlabID, $projectID); -r(dao::getError()) && p('name:0') && e('标签不能为空'); //使用空的gitlabID,projectID,保护标签对象创建GitLab保护标签 - -$_POST['name'] = 'test_tag1'; -$_POST['create_access_level'] = '40'; -$result = $gitlab->createTagPriv($gitlabID, $projectID); -if($result === false) $result = 'return false'; -r($result) && p() && e('return false'); //使用正确的保护标签对象,空的gitlabID、projectID创建GitLab保护标签 - -dao::getError(); -$gitlabID = 1; -$projectID = 1; -$gitlab->createTagPriv($gitlabID, $projectID); -r(dao::getError()[0]) && p() && e('404 Project Not Found'); //使用正确的gitlabID、保护标签信息,错误的projectID创建保护标签 - -$projectID = 1555; -$gitlab->apiDeleteTagPriv($gitlabID, $projectID, $_POST['name']); -$result = $gitlab->createTagPriv($gitlabID, $projectID); -if(dao::getError() == false) $result = 'return true'; -r($result) && p() && e('return true'); //使用正确的gitlabID、projectID和保护标签信息创建保护标签 - -$projectID = 1555; -$result = $gitlab->createTagPriv($gitlabID, $projectID, $_POST['name']); -if(dao::getError() == false) $result = 'return true'; -r($result) && p() && e('return true'); //使用正确的gitlabID、projectID、保护标签信息,编辑保护标签 \ No newline at end of file diff --git a/module/gitlab/test/model/getbyid.php b/module/gitlab/test/model/getbyid.php index 1671b8ab7b..4473835711 100755 --- a/module/gitlab/test/model/getbyid.php +++ b/module/gitlab/test/model/getbyid.php @@ -7,15 +7,17 @@ su('admin'); /** title=测试gitlabModel->gitById(); +timeout=0 cid=1 -pid=1 -使用存在的ID >> 3 -使用空的ID >> 0 -使用不存在的ID >> 0 +- 使用存在的ID属性id @1 +- 使用空的ID @0 +- 使用不存在的ID @0 */ +zdTable('pipeline')->gen(5); + $gitlab = new gitlabTest(); $gitlabID = 1; @@ -25,6 +27,4 @@ $gitlabID = 0; r($gitlab->getById($gitlabID)) && p() && e(0); // 使用空的ID $gitlabID = 111; -r($gitlab->getById($gitlabID)) && p() && e(0); // 使用不存在的ID - -system("./ztest init"); +r($gitlab->getById($gitlabID)) && p() && e(0); // 使用不存在的ID \ No newline at end of file diff --git a/module/gitlab/test/model/getgitlabmenu.php b/module/gitlab/test/model/getgitlabmenu.php deleted file mode 100755 index 1b5dd1d566..0000000000 --- a/module/gitlab/test/model/getgitlabmenu.php +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env php -getGitlabMenu(); -cid=1 -pid=1 - -打印gitlab用户的菜单 >>
>
>
>
>
getGitlabMenuTest($gitlabID, 'user')) && p() && e('getGitlabMenuTest($gitlabID, 'group')) && p() && e('getGitlabMenuTest($gitlabID, 'project')) && p() && e('getGitlabMenuTest($gitlabID)) && p() && e('getGitlabMenuTest($gitlabID)) && p() && e('gitList(); +timeout=0 cid=1 -pid=1 -获取GiLlab列表 >> 1 +- 获取GitLab列表第1条的id属性 @1 +- 获取GitLab列表数量 @1 */ $gitlab = new gitlabTest(); -$orderBy = 'id_desc'; -r($gitlab->getList($orderBy)) && p('id') && e('1'); // 获取GitLab列表 - -system("./ztest init"); +$orderBy = 'id_desc'; +$gitlabList = $gitlab->getList($orderBy); +r($gitlabList) && p('1:id') && e('1'); // 获取GitLab列表 +r(count($gitlabList)) && p('') && e('1'); // 获取GitLab列表数量 \ No newline at end of file diff --git a/module/gitlab/test/model/getlistbyaccount.php b/module/gitlab/test/model/getlistbyaccount.php index 62ade29ede..5e6ff67662 100755 --- a/module/gitlab/test/model/getlistbyaccount.php +++ b/module/gitlab/test/model/getlistbyaccount.php @@ -5,12 +5,12 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::getListByAccount(); +timeout=0 cid=1 -pid=1 -默认admin用户查询绑定的gitlab服务器 >> 0 -使用已绑定一个gitlab服务器的用户查询 >> 1 -使用未绑定gitlab服务器的用户查询 >> 0 +- 默认admin用户查询绑定的gitlab服务器 @0 +- 使用已绑定一个gitlab服务器的用户查询 @1 +- 使用未绑定gitlab服务器的用户查询 @0 */ @@ -18,4 +18,4 @@ $gitlab = $tester->loadModel('gitlab'); r(count($gitlab->getListByAccount())) && p() && e('0'); //默认admin用户查询绑定的gitlab服务器 r(count($gitlab->getListByAccount('user3'))) && p() && e('1'); //使用已绑定一个gitlab服务器的用户查询 -r(count($gitlab->getListByAccount('test1'))) && p() && e('0'); //使用未绑定gitlab服务器的用户查询 +r(count($gitlab->getListByAccount('test1'))) && p() && e('0'); //使用未绑定gitlab服务器的用户查询 \ No newline at end of file diff --git a/module/gitlab/test/model/getpairs.php b/module/gitlab/test/model/getpairs.php index 17c44be28f..8514c2b923 100755 --- a/module/gitlab/test/model/getpairs.php +++ b/module/gitlab/test/model/getpairs.php @@ -7,15 +7,16 @@ su('admin'); /** title=测试gitlabModel->gitPairs(); +timeout=0 cid=1 -pid=1 -获取GitLab >> 1 +- 获取GitLab id为1的名字。属性1 @GitLab服务器 +- 获取GitLab 列表数量。 @1 */ $gitlab = new gitlabTest(); -r($gitlab->getPairs()) && p() && e('1'); // 获取GitLab - -system("./ztest init"); +$gitlabPairs = $gitlab->getPairs(); +r($gitlabPairs) && p(1) && e('GitLab服务器'); // 获取GitLab id为1的名字。 +r(count($gitlabPairs)) && p() && e('1'); // 获取GitLab 列表数量。 \ No newline at end of file diff --git a/module/gitlab/test/model/getuseraccountidpairs.php b/module/gitlab/test/model/getuseraccountidpairs.php new file mode 100644 index 0000000000..adbef3713b --- /dev/null +++ b/module/gitlab/test/model/getuseraccountidpairs.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +getUserAccountIdPairs(); +timeout=0 +cid=1 + +- 获取用户名为user3绑定的gitlab用户id。属性user3 @1 +- 获取用户名为user5绑定的gitlab用户id。属性user5 @3 +- 获取GitLab服务器不存在的绑定。属性user3 @0 + +*/ + +zdTable('user')->gen(10); +zdTable('oauth')->gen(5); + +$gitlab = new gitlabTest(); + +r($gitlab->getUserAccountIdPairsTest($gitlabID = 1)) && p('user3') && e('1'); // 获取用户名为user3绑定的gitlab用户id。 +r($gitlab->getUserAccountIdPairsTest($gitlabID = 1)) && p('user5') && e('3'); // 获取用户名为user5绑定的gitlab用户id。 +r($gitlab->getUserAccountIdPairsTest($gitlabID = 10)) && p('user3') && e('0'); // 获取GitLab服务器不存在的绑定。 \ No newline at end of file diff --git a/module/gitlab/test/model/getuseridaccountpairs.php b/module/gitlab/test/model/getuseridaccountpairs.php new file mode 100644 index 0000000000..eadfee3862 --- /dev/null +++ b/module/gitlab/test/model/getuseridaccountpairs.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +getUserIdAccountPairs(); +timeout=0 +cid=1 + +- 获取GitLab服务器1用户id为1的绑定的用户名。属性1 @user3 +- 获取GitLab服务器1用户id为3的绑定的用户名。属性3 @user5 +- 获取GitLab服务器不存在用户id为3的绑定的用户名。属性1 @0 + +*/ + +zdTable('user')->gen(10); +zdTable('oauth')->gen(5); + +$gitlab = new gitlabTest(); + +r($gitlab->getUserIdAccountPairsTest($gitlabID = 1)) && p('1') && e('user3'); // 获取GitLab服务器1用户id为1的绑定的用户名。 +r($gitlab->getUserIdAccountPairsTest($gitlabID = 1)) && p('3') && e('user5'); // 获取GitLab服务器1用户id为3的绑定的用户名。 +r($gitlab->getUserIdAccountPairsTest($gitlabID = 10)) && p('1') && e('0'); // 获取GitLab服务器不存在用户id为3的绑定的用户名。 \ No newline at end of file diff --git a/module/gitlab/test/model/getuseridbyzentaoaccount.php b/module/gitlab/test/model/getuseridbyzentaoaccount.php new file mode 100644 index 0000000000..5b652fc153 --- /dev/null +++ b/module/gitlab/test/model/getuseridbyzentaoaccount.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +getUserIDByZentaoAccount(); +timeout=0 +cid=1 + +- 根据禅道账号user3获取gitlab用户id。 @1 +- 根据禅道账号user5获取gitlab用户id。 @3 +- 根据禅道账号user3获取不存在的gitlab用户id。 @0 + +*/ + +zdTable('user')->gen(10); +zdTable('oauth')->gen(5); + +$gitlab = new gitlabTest(); + +r($gitlab->getUserIDByZentaoAccountTest($gitlabID = 1, 'user3')) && p() && e('1'); // 根据禅道账号user3获取gitlab用户id。 +r($gitlab->getUserIDByZentaoAccountTest($gitlabID = 1, 'user5')) && p() && e('3'); // 根据禅道账号user5获取gitlab用户id。 +r($gitlab->getUserIDByZentaoAccountTest($gitlabID = 10, 'user3')) && p() && e('0'); // 根据禅道账号user3获取不存在的gitlab用户id。 \ No newline at end of file diff --git a/module/gitlab/test/model/getuseridrealnamepairs.php b/module/gitlab/test/model/getuseridrealnamepairs.php new file mode 100644 index 0000000000..a13bf2af31 --- /dev/null +++ b/module/gitlab/test/model/getuseridrealnamepairs.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +getUserIdRealnamePairs(); +timeout=0 +cid=1 + +- 获取GitLab服务器1用户id为1的绑定的用户真实姓名。属性1 @用户3 +- 获取GitLab服务器1用户id为3的绑定的用户真实姓名。属性3 @用户5 +- 获取GitLab服务器不存在用户id为3的绑定的用户真实姓名。属性1 @0 + +*/ + +zdTable('user')->gen(10); +zdTable('oauth')->gen(5); + +$gitlab = new gitlabTest(); + +r($gitlab->getUserIdRealnamePairsTest($gitlabID = 1)) && p('1') && e('用户3'); // 获取GitLab服务器1用户id为1的绑定的用户真实姓名。 +r($gitlab->getUserIdRealnamePairsTest($gitlabID = 1)) && p('3') && e('用户5'); // 获取GitLab服务器1用户id为3的绑定的用户真实姓名。 +r($gitlab->getUserIdRealnamePairsTest($gitlabID = 10)) && p('1') && e('0'); // 获取GitLab服务器不存在用户id为3的绑定的用户真实姓名。 \ No newline at end of file diff --git a/module/gitlab/test/model/getversion.php b/module/gitlab/test/model/getversion.php index fb7c9f7cf2..5b13b063c2 100755 --- a/module/gitlab/test/model/getversion.php +++ b/module/gitlab/test/model/getversion.php @@ -5,12 +5,12 @@ include dirname(__FILE__, 5) . '/test/lib/init.php'; /** title=测试 gitlabModel::getVersion(); +timeout=0 cid=1 -pid=1 -通过host,token检验api权限 >> success -通过正确的host,错误的token获取api权限 >> return false -通过错误或低版本的的host,token获取api权限 >> return false +- 通过host,token检验api权限 @success +- 通过正确的host,错误的token获取api权限 @return false +- 通过错误或低版本的的host,token获取api权限 @return false */ diff --git a/module/gitlab/test/model/managebranchprivs.php b/module/gitlab/test/model/managebranchprivs.php index 3e419de1bc..a67c1f289f 100755 --- a/module/gitlab/test/model/managebranchprivs.php +++ b/module/gitlab/test/model/managebranchprivs.php @@ -7,25 +7,27 @@ su('admin'); /** title=测试gitlabModel->manageBranchPrivs(); +timeout=0 cid=1 -pid=1 -维护已存在的保护分支 >> fail -使用错误的gitlabID维护保护分支 >> success -使用错误的项目ID维护保护分支 >> success +- 维护已存在的保护分支 @fail +- 使用错误的gitlabID维护保护分支 @success +- 使用错误的项目ID维护保护分支 @success */ +zdTable('pipeline')->gen(5); + $gitlab = new gitlabTest(); -$_POST['branches'][0] = '1227'; -$_POST['mergeLevels'][0] = 40; -$_POST['pushLevels'][0] = 40; +$_POST['name'][0] = 'protected_branch'; +$_POST['mergeAccess'][0] = 40; +$_POST['pushAccess'][0] = 40; -$result1 = $gitlab->manageBranchPrivsTest(1, 1569); -$result2 = $gitlab->manageBranchPrivsTest(0, 1569); +$result1 = $gitlab->manageBranchPrivsTest(1, 2); +$result2 = $gitlab->manageBranchPrivsTest(0, 2); $result3 = $gitlab->manageBranchPrivsTest(1, 0); r($result1) && p('') && e('fail'); // 维护已存在的保护分支 r($result2) && p('') && e('success'); // 使用错误的gitlabID维护保护分支 -r($result3) && p('') && e('success'); // 使用错误的项目ID维护保护分支 +r($result3) && p('') && e('success'); // 使用错误的项目ID维护保护分支 \ No newline at end of file diff --git a/module/gitlab/test/model/managetagprivs.php b/module/gitlab/test/model/managetagprivs.php index af8310ea98..4b3de56e6e 100755 --- a/module/gitlab/test/model/managetagprivs.php +++ b/module/gitlab/test/model/managetagprivs.php @@ -7,24 +7,26 @@ su('admin'); /** title=测试gitlabModel->manageTagPrivs(); +timeout=0 cid=1 -pid=1 -维护已存在的保护标签 >> fail -使用错误的gitlabID维护保护标签 >> success -使用错误的项目ID维护保护标签 >> success +- 维护正常的保护标签 @fail +- 使用错误的gitlabID维护保护标签 @success +- 使用错误的项目ID维护保护标签 @success */ +zdTable('pipeline')->gen(5); + $gitlab = new gitlabTest(); -$_POST['tags'][0] = '1230'; -$_POST['createLevels'][0] = 40; +$_POST['name'][0] = 'keyword_tag'; +$_POST['createAccess'][0] = 40; -$result1 = $gitlab->manageTagPrivsTest(1, 1569); -$result2 = $gitlab->manageTagPrivsTest(0, 1569); +$result1 = $gitlab->manageTagPrivsTest(1, 2); +$result2 = $gitlab->manageTagPrivsTest(0, 2); $result3 = $gitlab->manageTagPrivsTest(1, 0); -r($result1) && p('') && e('fail'); // 维护正常的保护标签 +r($result1) && p('') && e('fail'); // 维护正常的保护标签 r($result2) && p('') && e('success'); // 使用错误的gitlabID维护保护标签 -r($result3) && p('') && e('success'); // 使用错误的项目ID维护保护标签 +r($result3) && p('') && e('success'); // 使用错误的项目ID维护保护标签 \ No newline at end of file diff --git a/module/gitlab/test/model/update.php b/module/gitlab/test/model/update.php deleted file mode 100644 index 7fa5b3c117..0000000000 --- a/module/gitlab/test/model/update.php +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env php -update(); -cid=1 -pid=1 - -GitLab名称为空 >> name -服务器地址为空 >> url -正确GitLab数据 >> Changed GitLab - -*/ - -$gitlab = new gitlabTest(); - -$gitlabID = 3; - -$_POST = array(); -$_POST['name'] = ''; -$_POST['url'] = 'http://10.0.7.242:9980'; -$_POST['account'] = 'admin'; -$_POST['token'] = 'y2UBqwPPzaLxsniy8R6A'; -$_POST['password'] = ''; - -r($gitlab->update($gitlabID)) && p() && e('name'); // GitLab名称为空 - -$_POST['name'] = 'Changed GitLab'; -$_POST['url'] = ''; -r($gitlab->update($gitlabID)) && p() && e('url'); // 服务器地址为空 - -$_POST['url'] = 'http://10.0.7.242:9980'; -r($gitlab->update($gitlabID)) && p('name') && e('Changed GitLab'); // 正确GitLab数据 - -system("./ztest init");