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

67 lines
3 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 sonarqubeModel::apiDeleteProject();
timeout=0
cid=18374
- 执行sonarqubeTest模块的apiDeleteProjectTest方法参数是$invalidSonarqubeID, $emptyProjectKey @return false
- 执行sonarqubeTest模块的apiDeleteProjectTest方法参数是$validSonarqubeID, $emptyProjectKey @return true
- 执行sonarqubeTest模块的apiDeleteProjectTest方法参数是$validSonarqubeID, $nonExistentProjectKey @return true
- 执行sonarqubeTest模块的apiDeleteProjectTest方法参数是$validSonarqubeID, $validProjectKey @return true
- 执行sonarqubeTest模块的apiDeleteProjectTest方法参数是$negativeSonarqubeID, $validProjectKey @return false
- 执行sonarqubeTest模块的apiDeleteProjectTest方法参数是$validSonarqubeID, $specialCharProjectKey @return true
- 执行sonarqubeTest模块的apiDeleteProjectTest方法参数是0, $validProjectKey @return false
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 准备测试数据
$table = zenData('pipeline');
$table->id->range('1-10');
$table->type->range('sonarqube{5},gitlab{3},jenkins{2}');
$table->name->range('SonarQube测试服务器{5},GitLab服务器{3},Jenkins服务器{2}');
$table->url->range('https://test.sonarqube.com{5},https://gitlab.com{3},https://jenkins.com{2}');
$table->account->range('admin{10}');
$table->token->range('dGVzdF90b2tlbl8xMjM={10}');
$table->deleted->range('0');
$table->gen(10);
// 设置测试用户权限
su('admin');
// 测试参数定义
$validSonarqubeID = 1;
$invalidSonarqubeID = 999;
$negativeSonarqubeID = -1;
$emptyProjectKey = '';
$nonExistentProjectKey = 'non_existent_project_123';
$validProjectKey = 'test_delete_project_123';
$specialCharProjectKey = 'test@#$%^&*()_project';
// 创建测试实例
$sonarqubeTest = new sonarqubeModelTest();
// 测试步骤1使用无效的sonarqubeID删除项目
r($sonarqubeTest->apiDeleteProjectTest($invalidSonarqubeID, $emptyProjectKey)) && p() && e('return false');
// 测试步骤2使用有效sonarqubeID但空projectKey删除项目
r($sonarqubeTest->apiDeleteProjectTest($validSonarqubeID, $emptyProjectKey)) && p() && e('return true');
// 测试步骤3使用有效sonarqubeID但不存在的projectKey
r($sonarqubeTest->apiDeleteProjectTest($validSonarqubeID, $nonExistentProjectKey)) && p() && e('return true');
// 测试步骤4使用有效参数删除项目
r($sonarqubeTest->apiDeleteProjectTest($validSonarqubeID, $validProjectKey)) && p() && e('return true');
// 测试步骤5测试负数sonarqubeID的处理
r($sonarqubeTest->apiDeleteProjectTest($negativeSonarqubeID, $validProjectKey)) && p() && e('return false');
// 测试步骤6使用特殊字符的projectKey删除项目
r($sonarqubeTest->apiDeleteProjectTest($validSonarqubeID, $specialCharProjectKey)) && p() && e('return true');
// 测试步骤7测试边界值 - 零值ID
r($sonarqubeTest->apiDeleteProjectTest(0, $validProjectKey)) && p() && e('return false');