+ Add unit test case for gites->getApiRoot.

This commit is contained in:
caoyanyi
2023-12-21 15:39:22 +08:00
parent 4d140a3810
commit 2ee2b6959e
4 changed files with 70 additions and 20 deletions
+2 -2
View File
@@ -31,10 +31,10 @@ class giteaModel extends model
public function getApiRoot(int $giteaID, bool $sudo = true): string
{
$gitea = $this->fetchByID($giteaID);
if(!$gitea) return '';
if(!$gitea || $gitea->type != 'gitea') return '';
$sudoParam = '';
if($sudo == true and !$this->app->user->admin)
if($sudo && !$this->app->user->admin)
{
$openID = $this->loadModel('pipeline')->getOpenIdByAccount($giteaID, 'gitea', $this->app->user->account);
if($openID) $sudoParam = "&sudo={$openID}";
+18 -18
View File
@@ -1,37 +1,37 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
/**
title=测试 giteaModel::checkTokenAccess();
timeout=0
cid=1
pid=1
- 使用空的数据验证token权限 @0
- 使用错误的host验证token权限 @0
- 使用正确的host,错误的token验证token权限 @0
- 通过host,token验证token权限 @1
- 通过host,权限不足的token验证token权限 @no access
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
global $tester;
$gitea = $tester->loadModel('gitea');
$host = '';
$token = '';
$host = '';
$token = '';
$result = $gitea->checkTokenAccess($host, $token);
if($result === false) $result = 'return false';
r($result) && p() && e('return false'); //使用空的数据验证token权限
r($gitea->checkTokenAccess($host, $token)) && p() && e('0'); //使用空的数据验证token权限
$host = 'http://10.0.7.242:9020';
$result = $gitea->checkTokenAccess($host, $token);
if(!$result) $result = 'return false';
r($result) && p() && e('return false'); //使用错误的host验证token权限
$host = 'https://dev.qc.oop.cc';
r($gitea->checkTokenAccess($host, $token)) && p() && e('0'); //使用错误的host验证token权限
$host = 'http://10.0.7.242:9020';
$result = $gitea->checkTokenAccess($host, $token);
if(empty($result)) $result = 'return null';
r($result) && p() && e('return null'); //使用正确的host,错误的token验证token权限
$host = 'https://giteadev.qc.oop.cc';
r($gitea->checkTokenAccess($host, $token)) && p() && e('0'); //使用正确的host,错误的token验证token权限
$token = 'c6769e6761a7d719129b2421dcb3112d936e2b1f';
$result = $gitea->checkTokenAccess($host, $token);
r($result) && p() && e('1'); //通过host,token验证token权限
$token = '6149a6013047301b116389d50db5cbf599772082';
r($gitea->checkTokenAccess($host, $token)) && p() && e('1'); //通过host,token验证token权限
$token = 'wVFHE6NZA-cJy-3U2y2J';
$result = $gitea->checkTokenAccess($host, $token);
+37
View File
@@ -0,0 +1,37 @@
#!/usr/bin/env php
<?php
/**
title=测试 giteaModel::checkTokenAccess();
timeout=0
cid=1
- 不存在的服务器 @0
- 错误的服务器 @0
- 正确的服务器 @https://giteadev.qc.oop.cc/api/v1%s?token=6149a6013047301b116389d50db5cbf599772082
- 管理员获取接口地址 @https://giteadev.qc.oop.cc/api/v1%s?token=6149a6013047301b116389d50db5cbf599772082
- 普通用户获取接口地址 @https://giteadev.qc.oop.cc/api/v1%s?token=6149a6013047301b116389d50db5cbf599772082&sudo=5
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('pipeline')->gen(5);
zdTable('oauth')->config('oauth')->gen(1);
su('admin');
global $tester;
$gitea = $tester->loadModel('gitea');
$failID = 10;
$gitlabID = 1;
$giteaID = 4;
r($gitea->getApiRoot($failID)) && p() && e('0'); // 不存在的服务器
r($gitea->getApiRoot($gitlabID)) && p() && e('0'); // 错误的服务器
r($gitea->getApiRoot($giteaID, false)) && p() && e('https://giteadev.qc.oop.cc/api/v1%s?token=6149a6013047301b116389d50db5cbf599772082'); // 正确的服务器
r($gitea->getApiRoot($giteaID)) && p() && e('https://giteadev.qc.oop.cc/api/v1%s?token=6149a6013047301b116389d50db5cbf599772082'); // 管理员获取接口地址
su('user1', false);
r($gitea->getApiRoot($giteaID)) && p() && e('https://giteadev.qc.oop.cc/api/v1%s?token=6149a6013047301b116389d50db5cbf599772082&sudo=5'); // 普通用户获取接口地址
+13
View File
@@ -0,0 +1,13 @@
title: oauth
author: Yanyi Cao
version: "1.0"
fields:
- field: account
range: user1
- field: openID
range: 5
- field: providerType
range: gitea
- field: providerID
range: 4