znt/module/sonarqube/test/model/apigetqualitygate.php

59 lines
2.5 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 sonarqubeModel::apiGetQualitygate();
timeout=0
cid=18378
- 执行sonarqubeTest模块的apiGetQualitygateTest方法参数是0, '' @return empty
- 执行sonarqubeTest模块的apiGetQualitygateTest方法参数是21, '' @return empty
- 执行sonarqubeTest模块的apiGetQualitygateTest方法参数是22, 'nonexistent_project' @return empty
- 执行sonarqubeTest模块的apiGetQualitygateTest方法参数是23, 'test_project' @return empty
- 执行sonarqubeTest模块的apiGetQualitygateTest方法参数是-1, 'test_project' @return empty
- 执行sonarqubeTest模块的apiGetQualitygateTest方法参数是99999, 'test_project' @return empty
- 执行sonarqubeTest模块的apiGetQualitygateTest方法参数是22, 'test_invalid_key' @return empty
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 准备测试数据
$table = zenData('pipeline');
$table->id->range('21-25');
$table->type->range('sonarqube{5}');
$table->name->range('Test SonarQube 1, Test SonarQube 2, Test SonarQube 3, Test SonarQube 4, Test SonarQube 5');
$table->url->range('https://sonar1.test.com, https://sonar2.test.com, https://sonar3.test.com, https://sonar4.test.com, https://sonar5.test.com');
$table->account->range('admin{5}');
$table->token->range('test_token_1, test_token_2, test_token_3, test_token_4, test_token_5');
$table->deleted->range('0{5}');
$table->gen(5);
// 用户登录
su('admin');
// 创建测试实例
$sonarqubeTest = new sonarqubeModelTest();
// 测试步骤1无效的sonarqubeID和空项目key
r($sonarqubeTest->apiGetQualitygateTest(0, '')) && p() && e('return empty');
// 测试步骤2有效的sonarqubeID但项目key为空
r($sonarqubeTest->apiGetQualitygateTest(21, '')) && p() && e('return empty');
// 测试步骤3有效的sonarqubeID但不存在的项目key
r($sonarqubeTest->apiGetQualitygateTest(22, 'nonexistent_project')) && p() && e('return empty');
// 测试步骤4有效的sonarqubeID和有效的项目key
r($sonarqubeTest->apiGetQualitygateTest(23, 'test_project')) && p() && e('return empty');
// 测试步骤5负数的sonarqubeID
r($sonarqubeTest->apiGetQualitygateTest(-1, 'test_project')) && p() && e('return empty');
// 测试步骤6超大的sonarqubeID
r($sonarqubeTest->apiGetQualitygateTest(99999, 'test_project')) && p() && e('return empty');
// 测试步骤7特殊字符项目key测试
r($sonarqubeTest->apiGetQualitygateTest(22, 'test_invalid_key')) && p() && e('return empty');