+ Add unit test case for gites->getApiRoot.
This commit is contained in:
@@ -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}";
|
||||
|
||||
Regular → Executable
+18
-18
@@ -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);
|
||||
|
||||
Executable
+37
@@ -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'); // 普通用户获取接口地址
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user