+ Add unit test case for gogs->apiGetSingleBranch.

This commit is contained in:
caoyanyi
2023-12-22 10:37:12 +08:00
parent e216d8a2ae
commit 02ef7a5d8e
2 changed files with 48 additions and 3 deletions
+5 -3
View File
@@ -278,13 +278,15 @@ class gogsModel extends model
* @param string $project
* @param string $branchName
* @access public
* @return object
* @return object|null
*/
public function apiGetSingleBranch(int $gogsID, string $project, string $branchName): object
public function apiGetSingleBranch(int $gogsID, string $project, string $branchName): object|null
{
if(empty($branchName)) return null;
$url = sprintf($this->getApiRoot($gogsID), "/repos/$project/branches/$branchName");
$branch = json_decode(commonModel::http($url));
if($branch)
if(isset($branch->name))
{
$gogs = $this->fetchByID($gogsID);
$branch->web_url = "{$gogs->url}/$project/src/$branchName";
+43
View File
@@ -0,0 +1,43 @@
#!/usr/bin/env php
<?php
/**
title=测试 gogsModel::apiGetSingleBranch();
timeout=0
cid=0
- 错误的服务器ID @0
- 错误的项目ID @0
- 错误的分支名 @0
- 空的分支名 @0
- 正确的参数
- 属性name @master
- 属性web_url @https://gogsdev.qc.oop.cc/easycorp/unittest/src/master
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('pipeline')->gen(5);
zdTable('oauth')->config('oauth')->gen(5);
su('admin');
global $tester;
$gogsModel = $tester->loadModel('gogs');
$gogsID = 1;
$project = '';
$branch = 'test231222';
r($gogsModel->apiGetSingleBranch($gogsID, $project, $branch)) && p() && e('0'); // 错误的服务器ID
$gogsID = 5;
r($gogsModel->apiGetSingleBranch($gogsID, $project, $branch)) && p() && e('0'); // 错误的项目ID
$project = 'easycorp/unittest';
r($gogsModel->apiGetSingleBranch($gogsID, $project, $branch)) && p() && e('0'); // 错误的分支名
$branch = '';
r($gogsModel->apiGetSingleBranch($gogsID, $project, $branch)) && p() && e('0'); // 空的分支名
$branch = 'master';
r($gogsModel->apiGetSingleBranch($gogsID, $project, $branch)) && p('name,web_url') && e('master,https://gogsdev.qc.oop.cc/easycorp/unittest/src/master'); // 正确的参数