From fb853c091e7fac1ceeef60d56e9fb05e3668f4ec Mon Sep 17 00:00:00 2001 From: zenggang Date: Sat, 16 Dec 2023 10:01:57 +0000 Subject: [PATCH] * Add gitlab unit test. --- module/gitlab/control.php | 40 +------ module/gitlab/model.php | 106 ++++-------------- module/gitlab/test/model/apicreategroup.php | 51 +++++++++ module/gitlab/test/model/apicreateproject.php | 50 +++++++++ .../test/model/apicreateprojectmember.php | 48 ++++++++ module/gitlab/test/model/apigetnamespaces.php | 31 +++++ module/gitlab/test/model/apigetprojects.php | 52 +++++++++ .../gitlab/test/model/apigetprojectspager.php | 49 ++++++++ module/gitlab/test/model/apigettodolist.php | 49 ++++++++ module/gitlab/test/model/apigetusers.php | 40 +++++++ module/gitlab/test/model/getlistbyaccount.php | 23 ---- module/gitlab/test/model/getmatchedusers.php | 4 +- .../test/model/getuseraccountidpairs.php | 26 ----- .../test/model/getuseridaccountpairs.php | 26 ----- .../test/model/getuseridbyzentaoaccount.php | 26 ----- 15 files changed, 397 insertions(+), 224 deletions(-) create mode 100644 module/gitlab/test/model/apicreategroup.php create mode 100644 module/gitlab/test/model/apicreateproject.php create mode 100644 module/gitlab/test/model/apicreateprojectmember.php create mode 100644 module/gitlab/test/model/apigetnamespaces.php create mode 100644 module/gitlab/test/model/apigetprojects.php create mode 100644 module/gitlab/test/model/apigetprojectspager.php create mode 100644 module/gitlab/test/model/apigettodolist.php create mode 100644 module/gitlab/test/model/apigetusers.php delete mode 100755 module/gitlab/test/model/getlistbyaccount.php delete mode 100644 module/gitlab/test/model/getuseraccountidpairs.php delete mode 100644 module/gitlab/test/model/getuseridaccountpairs.php delete mode 100644 module/gitlab/test/model/getuseridbyzentaoaccount.php diff --git a/module/gitlab/control.php b/module/gitlab/control.php index d2d331a49c..f106d866ff 100644 --- a/module/gitlab/control.php +++ b/module/gitlab/control.php @@ -178,7 +178,7 @@ class gitlab extends control $userList = array(); $gitlabUsers = $this->gitlab->apiGetUsers($gitlabID); - $bindedUsers = $this->gitlab->getUserAccountIdPairs($gitlabID); + $bindedUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'account,openID'); $matchedResult = $this->gitlab->getMatchedUsers($gitlabID, $gitlabUsers, $zentaoUsers); foreach($gitlabUsers as $gitlabUserID => $gitlabUser) @@ -573,7 +573,7 @@ class gitlab extends control } $users = $this->loadModel('user')->getList(); - $bindedUsers = $this->gitlab->getUserAccountIdPairs($gitlabID); + $bindedUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'account,openID'); $userPairs = array(); $userInfos = array(); foreach($users as $key => $user) @@ -620,7 +620,7 @@ class gitlab extends control $zentaoBindAccount = $this->dao->select('account')->from(TABLE_OAUTH)->where('providerType')->eq('gitlab')->andWhere('providerID')->eq($gitlabID)->andWhere('openID')->eq($gitlabUser->id)->fetch('account'); $users = $this->loadModel('user')->getList(); - $bindedUsers = $this->gitlab->getUserAccountIdPairs($gitlabID); + $bindedUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'account,openID'); $userPairs = array(); foreach($users as $user) { @@ -1119,7 +1119,7 @@ class gitlab extends control $repo = $this->loadModel('repo')->getByID($repoID); $users = $this->loadModel('user')->getPairs('noletter|noempty|nodeleted'); - $bindedUsers = $this->gitlab->getUserAccountIdPairs($repo->gitService); + $bindedUsers = $this->loadModel('pipeline')->getUserBindedPairs($repo->gitService, 'gitlab', 'account,openID'); if(empty($repo->acl)) { @@ -1169,7 +1169,7 @@ class gitlab extends control /* Get users accesslevel. */ $userAccessData = array(); - $bindedUsers = $this->gitlab->getUserIdAccountPairs($repo->gitService); + $bindedUsers = $this->loadModel('pipeline')->getUserBindedPairs($repo->gitService, 'gitlab', 'openID,account'); foreach($projectMembers as $projectMember) { @@ -1235,36 +1235,6 @@ class gitlab extends control return print(json_encode($options)); } - /** - * Ajax方式获取合并请求用户键值对。 - * AJAX: Get MR user pairs to select assignee_ids and reviewer_ids. - * Attention: The user must be a member of the GitLab project. - * - * @param int $gitlabID - * @param int $projectID - * @access public - * @return void - */ - public function ajaxGetMRUserPairs(int $gitlabID, int $projectID) - { - if(!$gitlabID) return $this->send(array('message' => array())); - - $bindedUsers = $this->gitlab->getUserIdRealnamePairs($gitlabID); - $rawProjectUsers = $this->gitlab->apiGetProjectUsers($gitlabID, $projectID); - $users = array(); - foreach($rawProjectUsers as $rawProjectUser) - { - if(!empty($bindedUsers[$rawProjectUser->id])) $users[$rawProjectUser->id] = $bindedUsers[$rawProjectUser->id]; - } - - $options = ""; - foreach($users as $index => $user) - { - $options .= ""; - } - $this->send($options); - } - /** * 创建一个gitlab标签。 * Create a gitlab tag. diff --git a/module/gitlab/model.php b/module/gitlab/model.php index dca425dd87..690e394af1 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -107,74 +107,6 @@ class gitlabModel extends model ->fetchPairs(); } - /** - * 获取gitlab的用户id和禅道的账号 键值对。 - * Get gitlab user id and zentao account pairs of one gitlab. - * - * @param int $gitlabID - * @access public - * @return array - */ - public function getUserIdAccountPairs(int $gitlabID): array - { - return $this->dao->select('openID,account')->from(TABLE_OAUTH) - ->where('providerType')->eq('gitlab') - ->andWhere('providerID')->eq($gitlabID) - ->fetchPairs(); - } - - /** - * 获取gitlab的禅道账号和gitlab用户id的 键值对。 - * Get zentao account gitlab user id pairs of one gitlab. - * - * @param int $gitlabID - * @access public - * @return array - */ - public function getUserAccountIdPairs(int $gitlabID): array - { - return $this->dao->select('account,openID')->from(TABLE_OAUTH) - ->where('providerType')->eq('gitlab') - ->andWhere('providerID')->eq($gitlabID) - ->fetchPairs(); - } - - /** - * 获取gitlab用户id根据禅道账号。 - * Get gitlab user id by zentao account. - * - * @param int $gitlabID - * @param string $zentaoAccount - * @access public - * @return string - */ - public function getUserIDByZentaoAccount(int $gitlabID, string $zentaoAccount): string - { - return $this->dao->select('openID')->from(TABLE_OAUTH) - ->where('providerType')->eq('gitlab') - ->andWhere('providerID')->eq($gitlabID) - ->andWhere('account')->eq($zentaoAccount) - ->fetch('openID'); - } - - /** - * 获取gitlab列表根据禅道账号。 - * Get GitLab id list by user account. - * - * @param string $account - * @access public - * @return array - */ - public function getListByAccount(string $account = ''): array - { - if(!$account) $account = $this->app->user->account; - - return $this->dao->select('providerID,openID')->from(TABLE_OAUTH) - ->where('providerType')->eq('gitlab') - ->andWhere('account')->eq($account) - ->fetchPairs('providerID'); - } - /** * 获取gitlab的 项目id和名称 键值对。 * Get project pairs of one gitlab. @@ -216,7 +148,7 @@ class gitlabModel extends model } } - $bindedUsers = $this->getUserIdAccountPairs($gitlabID); + $bindedUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'openID,account'); $matchedUsers = array(); foreach($gitlabUsers as $gitlabUser) @@ -452,9 +384,9 @@ class gitlabModel extends model * @param int $projectID * @param int $sudo * @access public - * @return object|array|null + * @return object|array|null|string */ - public function apiGetTodoList(int $gitlabID, int $projectID, int $sudo): object|array|null + public function apiGetTodoList(int $gitlabID, int $projectID, int $sudo): object|array|null|string { $gitlab = $this->loadModel('gitlab')->getByID($gitlabID); if(!$gitlab) return ''; @@ -524,7 +456,7 @@ class gitlabModel extends model /* Get linked users. */ $linkedUsers = array(); - if($onlyLinked) $linkedUsers = $this->getUserIdAccountPairs($gitlabID); + if($onlyLinked) $linkedUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'openID,account'); $users = array(); foreach($response as $gitlabUser) @@ -649,9 +581,9 @@ class gitlabModel extends model * @param int $gitlabID * @param object $group * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiCreateGroup(int $gitlabID, object $group): object|array|null + public function apiCreateGroup(int $gitlabID, object $group): object|array|null|false { if(empty($group->name) or empty($group->path)) return false; @@ -687,6 +619,8 @@ class gitlabModel extends model $header = $result['header']; $recTotal = $header['X-Total']; $recPerPage = $header['X-Per-Page']; + + $this->app->loadClass('pager', true); $pager = pager::init($recTotal, $recPerPage, $pager->pageID); return array('pager' => $pager, 'projects' => json_decode($result['body'])); @@ -734,11 +668,11 @@ class gitlabModel extends model * @param int $gitlabID * @param object $project * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiCreateProject(int $gitlabID, object $project): object|array|null + public function apiCreateProject(int $gitlabID, object $project): object|array|null|false { - if(empty($project->name) and empty($project->path)) return false; + if(empty($project->name) || empty($project->path)) return false; $apiRoot = $this->getApiRoot($gitlabID); $url = sprintf($apiRoot, "/projects"); @@ -753,9 +687,9 @@ class gitlabModel extends model * @param int $projectID * @param object $member * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiCreateProjectMember(int $gitlabID, int $projectID, object $member): object|array|null + public function apiCreateProjectMember(int $gitlabID, int $projectID, object $member): object|array|null|false { if(empty($member->user_id) or empty($member->access_level)) return false; @@ -772,9 +706,9 @@ class gitlabModel extends model * @param int $projectID * @param object $member * @access public - * @return object|array|null + * @return object|array|null|false */ - public function apiUpdateProjectMember(int $gitlabID, int $projectID, object $member): object|array|null + public function apiUpdateProjectMember(int $gitlabID, int $projectID, object $member): object|array|null|false { if(empty($member->user_id) or empty($member->access_level)) return false; @@ -2116,7 +2050,7 @@ class gitlabModel extends model public function taskToIssue(int $gitlabID, int $gitlabProjectID, object $task): object { $map = $this->config->gitlab->maps->task; - $gitlabUsers = $this->getUserAccountIdPairs($gitlabID); + $gitlabUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'account,openID'); $issue = new stdclass; foreach($map as $taskField => $config) @@ -2158,7 +2092,7 @@ class gitlabModel extends model { $map = $this->config->gitlab->maps->story; $issue = new stdclass; - $gitlabUsers = $this->getUserAccountIdPairs($gitlabID); + $gitlabUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'account,openID'); if(empty($gitlabUsers)) return false; foreach($map as $storyField => $config) @@ -2205,7 +2139,7 @@ class gitlabModel extends model { $map = $this->config->gitlab->maps->bug; $issue = new stdclass; - $gitlabUsers = $this->getUserAccountIdPairs($gitlabID); + $gitlabUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'account,openID'); if(empty($gitlabUsers)) return false; foreach($map as $bugField => $config) @@ -2251,7 +2185,7 @@ class gitlabModel extends model */ public function parseObjectToIssue(int $gitlabID, int $projectID, string $objectType, object $object): object { - $gitlabUsers = $this->getUserAccountIdPairs($gitlabID); + $gitlabUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'account,openID'); if(empty($gitlabUsers)) return false; $issue = new stdclass; $map = $this->config->gitlab->maps->$objectType; @@ -2300,7 +2234,7 @@ class gitlabModel extends model if(isset($changes->assignees)) $changes->assignee_id = true; $maps = $this->config->gitlab->maps->{$issue->objectType}; - $gitlabUsers = $this->getUserIdAccountPairs($gitlabID); + $gitlabUsers = $this->loadModel('pipeline')->getUserBindedPairs($gitlabID, 'gitlab', 'openID,account'); $object = new stdclass; $object->id = $issue->objectID; diff --git a/module/gitlab/test/model/apicreategroup.php b/module/gitlab/test/model/apicreategroup.php new file mode 100644 index 0000000000..5e732f8c2a --- /dev/null +++ b/module/gitlab/test/model/apicreategroup.php @@ -0,0 +1,51 @@ +#!/usr/bin/env php +["已经被使用"]} + +*/ + +zdTable('pipeline')->gen(5); + +$gitlab = $tester->loadModel('gitlab'); + +$gitlabID = 1; +$group = new stdclass(); +$group->name = ''; +$group->path = 'unit_test_group17'; +$group->description = 'unit_test_group desc'; +$group->visibility = 'public'; +$group->request_access_enabled = '1'; +$group->lfs_enabled = '1'; +$group->project_creation_level = 'developer'; +$group->subgroup_creation_level = 'maintainer'; + +$result = $gitlab->apiCreateGroup($gitlabID, $group); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); //使用空的名字创建gitlab群组 + +$group->name = 'unitTestGroup17'; +$group->path = ''; +$result = $gitlab->apiCreateGroup($gitlabID, $group); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); //使用空的群组URL创建gitlab群组 + +r($gitlab->apiCreateGroup(0, $group)) && p() && e('0'); //使用错误gitlabID创建群组 + +$group->path = 'unit_test_group17'; +$result = $gitlab->apiCreateGroup($gitlabID, $group); +if(!empty($result->name) and $result->name == $group->name) $result = true; +if(!empty($result->message) and $result->message == 'Failed to save group {:path=>["已经被使用"]}') $result = true; +r($result) && p() && e('1'); //通过gitlabID,projectID,分支对象正确创建GitLab分支 +r($gitlab->apiCreateGroup($gitlabID, $group)) && p('message') && e('Failed to save group {:path=>["已经被使用"]}'); //使用重复的分支信息创建分支 diff --git a/module/gitlab/test/model/apicreateproject.php b/module/gitlab/test/model/apicreateproject.php new file mode 100644 index 0000000000..5e0753d786 --- /dev/null +++ b/module/gitlab/test/model/apicreateproject.php @@ -0,0 +1,50 @@ +#!/usr/bin/env php +["已经被使用"]} + +*/ + +zdTable('pipeline')->gen(5); + +$gitlab = $tester->loadModel('gitlab'); + +$gitlabID = 1; +$project = new stdclass(); +$project->name = ''; +$project->path = 'unit_test_project17'; +$project->description = 'unit_test_project desc'; +$project->visibility = 'public'; +$project->namespace_id = '1'; + +$result = $gitlab->apiCreateProject($gitlabID, $project); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); //使用空的名字创建gitlab群组 + +$project->name = 'unitTestProject17'; +$project->path = ''; +$result = $gitlab->apiCreateProject($gitlabID, $project); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); //使用空的群组URL创建gitlab群组 + +r($gitlab->apiCreateProject(0, $project)) && p() && e('0'); //使用错误gitlabID创建群组 + +$project->path = 'unit_test_project17'; +$result = $gitlab->apiCreateProject($gitlabID, $project); +if(!empty($result->name) and $result->name == $project->name) $result = true; +if(!empty($result->message->path[0]) and $result->message->path[0] == '已经被使用') $result = true; +r($result) && p() && e('1'); //通过gitlabID,projectID,分支对象正确创建GitLab分支 + +$result = $gitlab->apiCreateProject($gitlabID, $project); +r($result->message) && p('path:0') && e('已经被使用'); //使用重复的分支信息创建分支 diff --git a/module/gitlab/test/model/apicreateprojectmember.php b/module/gitlab/test/model/apicreateprojectmember.php new file mode 100644 index 0000000000..b4a6e6c889 --- /dev/null +++ b/module/gitlab/test/model/apicreateprojectmember.php @@ -0,0 +1,48 @@ +#!/usr/bin/env php +gen(5); + +$gitlab = $tester->loadModel('gitlab'); + +$gitlabID = 1; +$projectID = 4; + +$projectMember = new stdclass(); +$projectMember->user_id = ''; +$projectMember->access_level = '40'; + +$result = $gitlab->apiCreateProjectMember($gitlabID, $projectID, $projectMember); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); //使用空的user_id创建gitlab群组 + +$projectMember->user_id = '4'; +$projectMember->access_level = ''; +$result = $gitlab->apiCreateProjectMember($gitlabID, $projectID, $projectMember); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); //使用空的access_level创建gitlab群组 + +r($gitlab->apiCreateProjectMember(0, $projectID, $projectMember)) && p() && e('0'); //使用错误gitlabID创建群组 + +$projectMember->access_level = '40'; +$result = $gitlab->apiCreateProjectMember($gitlabID, $projectID, $projectMember); +if(!empty($result->access_level) and $result->access_level == $projectMember->access_level) $result = true; +if(!empty($result->message) and $result->message == 'Member already exists') $result = true; +r($result) && p() && e('1'); //通过gitlabID,projectID,分支对象正确创建GitLab分支 + +r( $gitlab->apiCreateProjectMember($gitlabID, $projectID, $projectMember)) && p('message') && e('Member already exists'); //使用重复的分支信息创建分支 \ No newline at end of file diff --git a/module/gitlab/test/model/apigetnamespaces.php b/module/gitlab/test/model/apigetnamespaces.php new file mode 100644 index 0000000000..0ff8a4f442 --- /dev/null +++ b/module/gitlab/test/model/apigetnamespaces.php @@ -0,0 +1,31 @@ +#!/usr/bin/env php +gen(5); +zdTable('oauth')->gen(4); + +$gitlab = $tester->loadModel('gitlab'); + +$gitlabID = 1; + +$result = $gitlab->apiGetNamespaces($gitlabID); +r(isset($result[0]->path)) && p() && e('1'); //通过gitlabID,获取GitLab namespace列表 +r(count($result) > 0) && p() && e('1'); //通过gitlabID,获取GitLab namespace数量 + +$result = $gitlab->apiGetNamespaces(0); +r($result) && p() && e('0'); //通过错误的gitlabID获取namespace列表 +r(count($result)) && p() && e('0'); //通过错误的gitlabID获取namespace列表数量 diff --git a/module/gitlab/test/model/apigetprojects.php b/module/gitlab/test/model/apigetprojects.php new file mode 100644 index 0000000000..f7ec3d43b5 --- /dev/null +++ b/module/gitlab/test/model/apigetprojects.php @@ -0,0 +1,52 @@ +#!/usr/bin/env php +gen(5); + +$gitlab = $tester->loadModel('gitlab'); + +$gitlabID = 1; +$orderBy = 'id_desc'; +$simple = 'true'; + +$result = $gitlab->apiGetProjects($gitlabID, $simple); +r(isset($result[0]->name)) && p() && e('1'); //通过gitlabID获取GitLab项目列表 +r(count($result) > 0) && p() && e('1'); //通过gitlabID获取GitLab项目数量 +r(isset($result[0]->visibility)) && p() && e('0'); //通过gitlabID获取GitLab项目列表是否有visibility字段信息。 + +$gitlabID = 0; +$result = $gitlab->apiGetProjects($gitlabID, $simple); +if(empty($result)) $result = 'return empty'; +r($result) && p() && e('return empty'); //当gitlabID为0时,获取GitLab项目列表 + +$gitlabID = 1; +$simple = 'false'; +$result = $gitlab->apiGetProjects($gitlabID, $simple); +r($result) && p('0:visibility') && e('private'); //通过gitlabID simple字段为false获取GitLab项目列表 + +$simple = 'true'; +$minID = 4; +$result = $gitlab->apiGetProjects($gitlabID, $simple, $minID); +r($result) && p('0:name') && e('privateTest'); //通过gitlabID minID为4获取GitLab项目列表 + +$simple = 'true'; +$maxID = 2; +$result = $gitlab->apiGetProjects($gitlabID, $simple, 0, $maxID); +r($result) && p('0:name') && e('testHtml'); //通过gitlabID maxID为4获取GitLab项目列表 diff --git a/module/gitlab/test/model/apigetprojectspager.php b/module/gitlab/test/model/apigetprojectspager.php new file mode 100644 index 0000000000..80158c88fa --- /dev/null +++ b/module/gitlab/test/model/apigetprojectspager.php @@ -0,0 +1,49 @@ +#!/usr/bin/env php +gen(5); + +$gitlab = $tester->loadModel('gitlab'); +$gitlab->app->moduleName = 'gitlab'; +$gitlab->app->methodName = 'browse'; + +$gitlabID = 1; +$orderBy = 'id_desc'; +$keyword = ''; + +$pager = new stdclass(); +$pager->recPerPage = 5; +$pager->pageID = 1; + +$result = $gitlab->apiGetProjectsPager($gitlabID, $keyword, $orderBy, $pager); +r(isset($result['projects'][0]->name)) && p() && e('1'); //通过gitlabID,获取GitLab项目列表 +r(count($result['projects']) > 0) && p() && e('1'); //通过gitlabID,获取GitLab项目数量 + +$gitlabID = 0; +$result = $gitlab->apiGetProjectsPager($gitlabID, $keyword, $orderBy, $pager); +if(empty($result)) $result = 'return empty'; +r($result) && p() && e('return empty'); //当gitlabID为0时,获取GitLab项目列表 + +$gitlabID = 1; +$orderBy = 'id_asc'; +$result = $gitlab->apiGetProjectsPager($gitlabID, $keyword, $orderBy, $pager); +r($result['projects']) && p('1:name') && e('testHtml'); //通过gitlabID,按项目名升序获取GitLab项目列表 + +$keyword = 'private'; +$result = $gitlab->apiGetProjectsPager($gitlabID, $keyword, $orderBy, $pager); +r($result['projects']) && p('0:name') && e('privateProject'); //通过gitlabID,搜索字符'private'获取GitLab项目列表 diff --git a/module/gitlab/test/model/apigettodolist.php b/module/gitlab/test/model/apigettodolist.php new file mode 100644 index 0000000000..9bdc2350a0 --- /dev/null +++ b/module/gitlab/test/model/apigettodolist.php @@ -0,0 +1,49 @@ +#!/usr/bin/env php +gen(5); + +$gitlab = $tester->loadModel('gitlab'); + +$gitlabID = 1; +$projectID = 3; +$sudo = 1; +$result = $gitlab->apiGetTodoList($gitlabID, $projectID, $sudo); +r(isset(array_shift($result)->author)) && p() && e('1'); //通过gitlabID,projectID,超级管理员获取GitLab待办列表 +r(count($result) > 0) && p() && e('1'); //通过gitlabID,projectID,超级管理员获取GitLab待办数量 + +$gitlabID = 1; +$projectID = 2; +r(count($gitlab->apiGetTodoList($gitlabID, $projectID, $sudo))) && p() && e('0'); //当前项目没有待办时,获取GitLab待办列表 + +$projectID = 3; +$sudo = 4; +r(count($gitlab->apiGetTodoList($gitlabID, $projectID, $sudo))) && p() && e('0'); //当前项目有待办时,指定用户获取GitLab待办列表 + +$gitlabID = 1; +$projectID = 0; +$result = $gitlab->apiGetTodoList($gitlabID, $projectID, $sudo); +if(empty($result)) $result = 'return empty'; +r($result) && p() && e('return empty'); //当gitlabID存在,projectID不存在时,获取GitLab待办列表 + +$gitlabID = 0; +$projectID = 0; +$result = $gitlab->apiGetTodoList($gitlabID, $projectID, $sudo); +if(empty($result)) $result = 'return empty'; +r($result) && p() && e('return empty'); //当gitlabID,projectID都为0时,获取GitLab待办列表 diff --git a/module/gitlab/test/model/apigetusers.php b/module/gitlab/test/model/apigetusers.php new file mode 100644 index 0000000000..cf0310c4d7 --- /dev/null +++ b/module/gitlab/test/model/apigetusers.php @@ -0,0 +1,40 @@ +#!/usr/bin/env php +gen(5); +zdTable('oauth')->gen(4); + +$gitlab = $tester->loadModel('gitlab'); + +$gitlabID = 1; +$onlyLinked = false; +$result = $gitlab->apiGetUsers($gitlabID, $onlyLinked); +r(isset($result[0]->account)) && p() && e('1'); //通过gitlabID,onlyLinked,获取GitLab用户列表 +r(count($result) > 0) && p() && e('1'); //通过gitlabID,onlyLinked,获取GitLab用户数量 + +$gitlabID = 1; +$onlyLinked = true; +$result = $gitlab->apiGetUsers($gitlabID, $onlyLinked); +r($result) && p('0:account') && e('user6'); //获取GitLab用户已做了关联的用户列表 +r(count($result)) && p() && e('2'); //获取GitLab用户已做了关联的用户列表数量 + +$gitlabID = 1; +$onlyLinked = false; +$orderBy = 'id_asc'; +$result = $gitlab->apiGetUsers($gitlabID, $onlyLinked, $orderBy); +r($result) && p('0:account') && e('root'); //通过gitlabID,onlyLinked,按用户名升序获取GitLab用户列表 \ No newline at end of file diff --git a/module/gitlab/test/model/getlistbyaccount.php b/module/gitlab/test/model/getlistbyaccount.php deleted file mode 100755 index 6ec70ea90d..0000000000 --- a/module/gitlab/test/model/getlistbyaccount.php +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env php -gen(5); - -$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服务器的用户查询 \ No newline at end of file diff --git a/module/gitlab/test/model/getmatchedusers.php b/module/gitlab/test/model/getmatchedusers.php index 9f67d99f7a..a4a4ae5c13 100644 --- a/module/gitlab/test/model/getmatchedusers.php +++ b/module/gitlab/test/model/getmatchedusers.php @@ -32,6 +32,6 @@ $gitlabUsers = $gitlab->gitlab->apiGetUsers($gitlabID); $zentaoUsers = $gitlab->gitlab->dao->select('account,email,realname')->from(TABLE_USER)->where('deleted')->eq('0')->fetchAll('account'); $matchedUsers = $gitlab->getMatchedUsersTest($gitlabID, $gitlabUsers, $zentaoUsers); r($matchedUsers) && p('1:account,zentaoAccount') && e('root,user3'); // 获取gitlab服务器1匹配的用户列表。 -r(count($matchedUsers)) && p('') && e('2'); // 获取gitlab服务器1匹配的用户数量。 +r(count($matchedUsers)) && p('') && e('3'); // 获取gitlab服务器1匹配的用户数量。 r($gitlab->getMatchedUsersTest($gitlabID, array(), $zentaoUsers)) && p('') && e('0'); // 当gitlab用户为空时获取gitlab服务器1匹配的用户数量。 -r($gitlab->getMatchedUsersTest($gitlabID, $gitlabUsers, array())) && p('4:account,zentaoAccount') && e('user6,user6'); // 当禅道用户为空时获取gitlab服务器1匹配的用户数量。 \ No newline at end of file +r($gitlab->getMatchedUsersTest($gitlabID, $gitlabUsers, array())) && p('4:account,zentaoAccount') && e('user6,user6'); // 当禅道用户为空时获取gitlab服务器1匹配的用户数量。 diff --git a/module/gitlab/test/model/getuseraccountidpairs.php b/module/gitlab/test/model/getuseraccountidpairs.php deleted file mode 100644 index adbef3713b..0000000000 --- a/module/gitlab/test/model/getuseraccountidpairs.php +++ /dev/null @@ -1,26 +0,0 @@ -#!/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 deleted file mode 100644 index eadfee3862..0000000000 --- a/module/gitlab/test/model/getuseridaccountpairs.php +++ /dev/null @@ -1,26 +0,0 @@ -#!/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 deleted file mode 100644 index 5b652fc153..0000000000 --- a/module/gitlab/test/model/getuseridbyzentaoaccount.php +++ /dev/null @@ -1,26 +0,0 @@ -#!/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