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

51 lines
1.9 KiB
PHP
Executable file
Raw Permalink 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=测试 jobModel::checkParameterizedBuild();
timeout=0
cid=16836
- 步骤1正常Jenkins Job无参数化构建 @0
- 步骤2参数化Job检查模拟返回 @0
- 步骤3不存在的Job ID @0
- 步骤4无效服务器配置空URL @0
- 步骤5边界值测试ID为0 @0
*/
// 1. 导入依赖
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 2. zendata数据准备
$pipelineTable = zenData('pipeline');
$pipelineTable->id->range('1-5');
$pipelineTable->type->range('jenkins{5}');
$pipelineTable->name->range('Jenkins服务器{5}');
$pipelineTable->url->range('[https://jenkins1.test.com],[https://jenkins2.test.com],[],[https://jenkins3.test.com],[https://jenkins4.test.com]');
$pipelineTable->account->range('[jenkins],[admin],[],[testuser],[devops]');
$pipelineTable->token->range('[token1],[token2],[],[token3],[token4]');
$pipelineTable->gen(5);
$jobTable = zenData('job');
$jobTable->id->range('1-5');
$jobTable->name->range('正常Job,参数Job,空Job,测试Job,开发Job');
$jobTable->engine->range('jenkins{5}');
$jobTable->server->range('1,2,3,4,5');
$jobTable->pipeline->range('[/job/simple-job/],[/job/parameterized-job/],[],[/job/test-job/],[/job/dev-job/]');
$jobTable->gen(5);
// 3. 用户登录
su('admin');
// 4. 创建测试实例
$jobTest = new jobModelTest();
// 5. 执行测试步骤至少5个
r($jobTest->checkParameterizedBuildTest(1)) && p() && e('0'); // 步骤1正常Jenkins Job无参数化构建
r($jobTest->checkParameterizedBuildTest(2)) && p() && e('0'); // 步骤2参数化Job检查模拟返回
r($jobTest->checkParameterizedBuildTest(999)) && p() && e('0'); // 步骤3不存在的Job ID
r($jobTest->checkParameterizedBuildTest(3)) && p() && e('0'); // 步骤4无效服务器配置空URL
r($jobTest->checkParameterizedBuildTest(0)) && p() && e('0'); // 步骤5边界值测试ID为0