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

59 lines
2.5 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=测试 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');