diff --git a/module/mr/model.php b/module/mr/model.php index 5435a291be..bc845d1733 100644 --- a/module/mr/model.php +++ b/module/mr/model.php @@ -923,9 +923,9 @@ class mrModel extends model * @param string $projectID * @param int $MRID * @access public - * @return array + * @return array|null */ - public function apiGetDiffVersions(int $hostID, string $projectID, int $MRID): array + public function apiGetDiffVersions(int $hostID, string $projectID, int $MRID): array|null { $url = sprintf($this->loadModel('gitlab')->getApiRoot($hostID), "/projects/$projectID/merge_requests/$MRID/versions"); return json_decode(commonModel::http($url)); @@ -940,9 +940,9 @@ class mrModel extends model * @param int $MRID * @param int $versionID * @access public - * @return object + * @return object|null */ - public function apiGetSingleDiffVersion(int $hostID, string $projectID, int $MRID, int $versionID): object + public function apiGetSingleDiffVersion(int $hostID, string $projectID, int $MRID, int $versionID): object|null { $url = sprintf($this->loadModel('gitlab')->getApiRoot($hostID), "/projects/$projectID/merge_requests/$MRID/versions/$versionID"); return json_decode(commonModel::http($url)); diff --git a/module/mr/test/model/apigetdiffversions.php b/module/mr/test/model/apigetdiffversions.php new file mode 100755 index 0000000000..8f9905fd02 --- /dev/null +++ b/module/mr/test/model/apigetdiffversions.php @@ -0,0 +1,35 @@ +#!/usr/bin/env php +gen(1); + +global $tester; +$mrModel = $tester->loadModel('mr'); + +$hostID = array +( + 'gitlab' => 1, + 'error' => 10 +); + +$projectID = 3; +$mrID = 36; + +r($mrModel->apiGetDiffVersions($hostID['error'], $projectID, $mrID)) && p() && e('0'); // 不存在的主机 + +r($mrModel->apiGetDiffVersions($hostID['gitlab'], $projectID, $mrID)) && p('0:id,head_commit_sha') && e('43,cedfe9a54614e71085e93a5a2e819617b48d43c5'); // 正确的数据 \ No newline at end of file