Files
EasySoft-ZenTaoPMS/module/git/test/model/run.php
T
2025-11-14 13:05:25 +08:00

73 lines
2.0 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env php
<?php
/**
title=测试 gitModel::run();
timeout=0
cid=16551
- 步骤1:无仓库时返回false @0
- 步骤2:有仓库时正常执行 @1
- 步骤3Gitlab仓库处理成功 @1
- 步骤4:标签任务处理成功 @1
- 步骤5:多仓库混合处理成功 @1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/git.unittest.class.php';
su('admin');
$git = new gitTest();
// 测试步骤1:无仓库情况下执行任务
zenData('repo')->gen(0);
zenData('job')->gen(0);
zenData('repohistory')->gen(0);
r($git->runTest()) && p() && e('0'); // 步骤1:无仓库时返回false
// 测试步骤2:正常仓库情况下执行任务
zenData('repo')->loadYaml('repo')->gen(1);
zenData('job')->gen(0);
zenData('repohistory')->gen(0);
r($git->runTest()) && p() && e('1'); // 步骤2:有仓库时正常执行
// 测试步骤3:包含Gitlab仓库执行任务
$repo = zenData('repo');
$repo->id->range('1');
$repo->SCM->range('Gitlab');
$repo->serviceHost->range('1');
$repo->serviceProject->range('42');
$repo->gen(1);
zenData('job')->gen(0);
zenData('repohistory')->gen(0);
r($git->runTest()) && p() && e('1'); // 步骤3Gitlab仓库处理成功
// 测试步骤4:包含标签触发任务的仓库
zenData('repo')->loadYaml('repo')->gen(1);
$job = zenData('job');
$job->id->range('1');
$job->repo->range('1');
$job->triggerType->range('tag');
$job->lastTag->range('v1.0.0');
$job->gen(1);
zenData('repohistory')->gen(0);
r($git->runTest()) && p() && e('1'); // 步骤4:标签任务处理成功
// 测试步骤5:包含多个仓库混合执行
$repo = zenData('repo');
$repo->id->range('1-3');
$repo->SCM->range('Git{2},Gitlab{1}');
$repo->serviceHost->range('1{3}');
$repo->serviceProject->range('42{3}');
$repo->gen(3);
$job = zenData('job');
$job->id->range('1-2');
$job->repo->range('1,2');
$job->triggerType->range('commit,tag');
$job->lastTag->range('[]{1},v2.0.0{1}');
$job->gen(2);
zenData('repohistory')->gen(0);
r($git->runTest()) && p() && e('1'); // 步骤5:多仓库混合处理成功