From 8e2db7b2cb37dc5525c58331eeac633c55bf0f25 Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Thu, 27 Jan 2022 03:15:48 +0000 Subject: [PATCH] * Add testcase. --- module/gitlab/model.php | 6 ++-- test/model/gitlab/apigetcurrentuser.php | 39 ++++++++++++++++++++++ test/model/gitlab/apigetgroupmembers.php | 41 ++++++++++++++++++++++++ test/model/gitlab/apigetgroups.php | 41 ++++++++++++++++++++++++ 4 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 test/model/gitlab/apigetcurrentuser.php create mode 100644 test/model/gitlab/apigetgroupmembers.php create mode 100644 test/model/gitlab/apigetgroups.php diff --git a/module/gitlab/model.php b/module/gitlab/model.php index b8e19fcf37..cf9eb378cf 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -601,7 +601,7 @@ class gitlabModel extends model * @access public * @return object */ - public function apiGetGroups($gitlabID, $orderBy, $minRole = '') + public function apiGetGroups($gitlabID, $orderBy = 'id_desc', $minRole = '') { $apiRoot = $this->getApiRoot($gitlabID); $url = sprintf($apiRoot, "/groups"); @@ -614,7 +614,9 @@ class gitlabModel extends model $url .= "&min_access_level=$this->config->gitlab->accessLevel[$minRole]"; } - list($order, $sort) = explode('_', $orderBy); + $order = 'id'; + $sort = 'desc'; + if(strpos($orderBy, '_') !== false) list($order, $sort) = explode('_', $orderBy); $allResults = array(); for($page = 1; true; $page++) diff --git a/test/model/gitlab/apigetcurrentuser.php b/test/model/gitlab/apigetcurrentuser.php new file mode 100644 index 0000000000..4fea4967fb --- /dev/null +++ b/test/model/gitlab/apigetcurrentuser.php @@ -0,0 +1,39 @@ +#!/usr/bin/env php +loadModel('gitlab'); + +$host = ''; +$token = ''; +$rootCheck = false; + +$result = $gitlab->apiGetCurrentUser($host, $token, $rootCheck); +if($result === false) $result = 'return false'; +r($result) && p() && e('return false'); //使用空的数据获取用户信息 + +$host = 'http://192.168.1.161:5108'; +$result = $gitlab->apiGetCurrentUser($host, $token, $rootCheck); +if(!$result) $result = 'return null'; +r($result) && p() && e('return null'); //使用错误的host获取用户信息 + +$host = 'http://192.168.1.161:51080'; +$result = $gitlab->apiGetCurrentUser($host, $token, $rootCheck); +r($gitlab->apiGetCurrentUser($host, $token, $rootCheck)) && p('message') && e('401 Unauthorized'); //使用正确的host,错误的token获取用户信息 + +$token = 'x88fZokrp5hShia2jyBN'; +$result = $gitlab->apiGetCurrentUser($host, $token, $rootCheck); +r($result) && p('id') && e('1'); //通过host,token获取用户信息 + +$token = 'wVFHE6NZA-cJy-3U2y2J'; +$rootCheck = true; +$result = $gitlab->apiGetCurrentUser($host, $token, $rootCheck); +r($result) && p('error') && e('insufficient_scope'); //通过host,权限不足的token获取用户信息 diff --git a/test/model/gitlab/apigetgroupmembers.php b/test/model/gitlab/apigetgroupmembers.php new file mode 100644 index 0000000000..09ef90e200 --- /dev/null +++ b/test/model/gitlab/apigetgroupmembers.php @@ -0,0 +1,41 @@ +#!/usr/bin/env php +loadModel('gitlab'); + +$gitlabID = 0; +$groupID = 0; +$userID = 0; + +$result = $gitlab->apiGetGroupMembers($gitlabID, $groupID, $userID); +if(!$result) $result = 'return null'; +r($result) && p() && e('return null'); //使用空的数据查询群组用户 + +$gitlabID = 1; +$result = $gitlab->apiGetGroupMembers($gitlabID, $groupID, $userID); +if(!$result) $result = 'return null'; +r($result) && p() && e('return null'); //使用空的groupID查询群组用户 + +$groupID = 1; +$result = $gitlab->apiGetGroupMembers($gitlabID, $groupID, $userID); +if(!$result) $result = 'return null'; +r($result) && p() && e('return null'); //使用错误的groupID查询群组用户 + +$groupID = 2; +$result = $gitlab->apiGetGroupMembers($gitlabID, $groupID, $userID); +if(is_array($result)) $result = 'return true'; +r($result) && p() && e('return true'); //通过gitlabID,groupID查询群组用户 + +$userID = 1; +$result = $gitlab->apiGetGroupMembers($gitlabID, $groupID, $userID); +if(is_array($result) && count($result) == 1) $result = 'return true'; +r($result) && p() && e('return true'); //通过gitlabID,groupID,userID查询群组用户 diff --git a/test/model/gitlab/apigetgroups.php b/test/model/gitlab/apigetgroups.php new file mode 100644 index 0000000000..19072a60d1 --- /dev/null +++ b/test/model/gitlab/apigetgroups.php @@ -0,0 +1,41 @@ +loadModel('gitlab'); + +$gitlabID = 0; +$orderBy = ''; +$minRole = ''; + +$result = $gitlab->apiGetGroups($gitlabID, $orderBy, $minRole); +if(!$result) $result = 'return null'; +r($result) && p() && e('return null'); //使用空的数据查询群组 + +$gitlabID = 1; +$result = $gitlab->apiGetGroups($gitlabID, $orderBy, $minRole); +if($result) $result = 'return true'; +r($result) && p() && e('return true'); //使用正确的gitlabID查询群组 + +$orderBy = 'abc'; +$result = $gitlab->apiGetGroups($gitlabID, $orderBy, $minRole); +if(is_array($result)) $result = 'return true'; +r($result) && p() && e('return true'); //使用错误的orderBy查询群组 + +$orderBy = 'name_asc'; +$minRole = 'owner'; +$result = $gitlab->apiGetGroups($gitlabID, $orderBy, $minRole); +if(is_array($result)) $result = 'return true'; +r($result) && p() && e('return true'); //通过gitlabID,orderBy查询群组 + +$minRole = 'abc'; +$result = $gitlab->apiGetGroups($gitlabID, $orderBy, $minRole); +if(is_array($result) && empty($result)) $result = 'return true'; +r($result) && p() && e('return true'); //通过错误的minRole查询群组