From a6f469e4610aeb1e763be6847d11a3f239d8a7b2 Mon Sep 17 00:00:00 2001 From: liyuchun Date: Tue, 4 Jan 2022 15:10:28 +0800 Subject: [PATCH 1/2] * Add unit cases. --- module/gitlab/model.php | 2 +- test/model/gitlab/apicreatetagpriv.php | 47 ++++++++++++++++++++++++ test/model/gitlab/createtagpriv.php | 50 ++++++++++++++++++++++++++ 3 files changed, 98 insertions(+), 1 deletion(-) create mode 100755 test/model/gitlab/apicreatetagpriv.php create mode 100755 test/model/gitlab/createtagpriv.php diff --git a/module/gitlab/model.php b/module/gitlab/model.php index e4dae3e2e4..f57f36bc4c 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -2616,7 +2616,7 @@ class gitlabModel extends model */ public function apiCreateTagPriv($gitlabID, $projectID, $priv) { - if(empty($gitlabID)) return false; + if(empty($gitlabID) or empty($projectID)) return false; if(empty($priv->name)) return false; $url = sprintf($this->getApiRoot($gitlabID), "/projects/" . $projectID . '/protected_tags'); return json_decode(commonModel::http($url, $priv)); diff --git a/test/model/gitlab/apicreatetagpriv.php b/test/model/gitlab/apicreatetagpriv.php new file mode 100755 index 0000000000..3aadbefa43 --- /dev/null +++ b/test/model/gitlab/apicreatetagpriv.php @@ -0,0 +1,47 @@ +#!/usr/bin/env php +> return false +使用正确的gitlabID,空的projectID、保护标签对象创建GitLab保护标签 >> return false +使用正确的gitlabID,空的保护标签信息,错误的projectID创建保护标签 >> return false +使用正确的gitlabID、保护标签信息,错误的projectID创建保护标签 >> 404 Project Not Found +tlabID、保护标签信息,错误的projectID创建保护标签 >> test_tag1 +使用重复的保护标签信息创建保护标签 >> 名称已经被使用 + +*/ + +$gitlab = $tester->loadModel('gitlab'); + +$gitlabID = 0; +$projectID = 0; +$tag = new stdclass(); + +$result = $gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); //使用空的gitlabID,projectID,保护标签对象创建GitLab保护标签 + +$gitlabID = 1; +$result = $gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); //使用正确的gitlabID,空的projectID、保护标签对象创建GitLab保护标签 + +$projectID = 1; +$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->create_access_level = '40'; +r($gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag)) && p('message') && e('404 Project Not Found'); //使用正确的gitlabID、保护标签信息,错误的projectID创建保护标签 + +$projectID = 1555; +$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("名称已经被使用"); //使用重复的保护标签信息创建保护标签 diff --git a/test/model/gitlab/createtagpriv.php b/test/model/gitlab/createtagpriv.php new file mode 100755 index 0000000000..6cdc29658e --- /dev/null +++ b/test/model/gitlab/createtagpriv.php @@ -0,0 +1,50 @@ +#!/usr/bin/env php +> 标签不能为空 +使用正确的保护标签对象,空的gitlabID、projectID创建GitLab保护标签 >> return false +使用正确的gitlabID、保护标签信息,错误的projectID创建保护标签 >> 404 Project Not Found +使用正确的gitlabID、projectID和保护标签信息创建保护标签 >> return true +使用正确的gitlabID、projectID、保护标签信息,编辑保护标签 >> return true + +*/ + +global $lang; + +$gitlab = $tester->loadModel('gitlab'); + +$gitlabID = 0; +$projectID = 0; + +$gitlab->createTagPriv($gitlabID, $projectID); +r(dao::getError()) && p('name:0') && e($lang->gitlab->tag->emptyPrivNameError); //使用空的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、保护标签信息,编辑保护标签 From c8786ef9eee2060d28759e49f12c2803fdcd5442 Mon Sep 17 00:00:00 2001 From: liyuchun Date: Tue, 4 Jan 2022 15:16:53 +0800 Subject: [PATCH 2/2] * Adjust unit case. --- test/model/gitlab/apicreatetagpriv.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/model/gitlab/apicreatetagpriv.php b/test/model/gitlab/apicreatetagpriv.php index 3aadbefa43..ea17f81615 100755 --- a/test/model/gitlab/apicreatetagpriv.php +++ b/test/model/gitlab/apicreatetagpriv.php @@ -12,7 +12,7 @@ pid=1 使用正确的gitlabID,空的projectID、保护标签对象创建GitLab保护标签 >> return false 使用正确的gitlabID,空的保护标签信息,错误的projectID创建保护标签 >> return false 使用正确的gitlabID、保护标签信息,错误的projectID创建保护标签 >> 404 Project Not Found -tlabID、保护标签信息,错误的projectID创建保护标签 >> test_tag1 +使用正确的gitlabID、projectID、保护标签信息创建保护标签 >> test_tag1 使用重复的保护标签信息创建保护标签 >> 名称已经被使用 */ @@ -43,5 +43,5 @@ r($gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag)) && p('message') && e(' $projectID = 1555; $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('name') && e('test_tag1'); //使用正确的gitlabID、projectID、保护标签信息创建保护标签 r($gitlab->apiCreateTagPriv($gitlabID, $projectID, $tag)) && p('message:0') && e("名称已经被使用"); //使用重复的保护标签信息创建保护标签