znt/module/job/test/model/getlistbyrepoid.php

53 lines
2.5 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 jobModel::getListByRepoID();
timeout=0
cid=16845
- 测试步骤1repo=1有3个未删除作业 @3
- 测试步骤2repo=2有2个作业 @2
- 测试步骤3不存在的repo返回空 @0
- 测试步骤4repo=0的边界值测试 @1
- 测试步骤5验证排序后第一个作业名称第8条的name属性 @Jenkins Job3
- 测试步骤6验证返回字段完整性
- 第8条的id属性 @8
- 第8条的8:name属性 @Jenkins Job3
- 第8条的8:lastStatus属性 @running
- 测试步骤7验证特定repo的作业ID第6条的id属性 @6
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 准备测试数据
$jobTable = zenData('job');
$jobTable->id->range('1-10');
$jobTable->name->range('Jenkins Job1, Jenkins Job2, GitLab Pipeline1, Test Job1, API Test Job, Performance Test, Security Test, Jenkins Job3, Deploy Job, Monitor Job');
$jobTable->repo->range('1, 1, 2, 2, 3, 999, 0, 1, 888, 1');
$jobTable->product->range('1-3');
$jobTable->frame->range('phpunit, pytest, jest, junit, mocha, cypress, selenium, testng, robot, cucumber');
$jobTable->engine->range('jenkins{6}, gitlab{2}, github{2}');
$jobTable->server->range('1-5');
$jobTable->pipeline->range('/job/pipeline1, /job/pipeline2, main, develop, feature, master, test, release, deploy, monitor');
$jobTable->lastStatus->range('success, failed, running, success, \'\', failed, success, running, success, failed');
$jobTable->deleted->range('0, 0, 0, 0, 0, 0, 0, 0, 1, 1');
$jobTable->gen(10);
// 使用管理员身份登录
su('admin');
// 创建测试实例
$jobTest = new jobModelTest();
// 测试步骤1有效版本库ID查询 - 检查repo=1的作业数量排除已删除
r(count($jobTest->getListByRepoIDTest(1))) && p() && e('3'); // 测试步骤1repo=1有3个未删除作业
r(count($jobTest->getListByRepoIDTest(2))) && p() && e('2'); // 测试步骤2repo=2有2个作业
r(count($jobTest->getListByRepoIDTest(99999))) && p() && e('0'); // 测试步骤3不存在的repo返回空
r(count($jobTest->getListByRepoIDTest(0))) && p() && e('1'); // 测试步骤4repo=0的边界值测试
r($jobTest->getListByRepoIDTest(1)) && p('8:name') && e('Jenkins Job3'); // 测试步骤5验证排序后第一个作业名称
r($jobTest->getListByRepoIDTest(1)) && p('8:id,8:name,8:lastStatus') && e('8,Jenkins Job3,running'); // 测试步骤6验证返回字段完整性
r($jobTest->getListByRepoIDTest(999)) && p('6:id') && e('6'); // 测试步骤7验证特定repo的作业ID