Merge branch 'devops21_zenggang' into 'master'

单元测试

See merge request easycorp/zentaopms!1789
This commit is contained in:
李玉春
2022-02-14 08:51:34 +00:00
4 changed files with 133 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 sonarqubeModel::apiCreateProject();
cid=1
pid=1
使用空的sonarqubeID、项目对象创建sonarqube项目 >> return false
使用空的sonarqubeID、正确的项目对象创建sonarqube项目 >> return false
使用正确的sonarqubeID,项目对象创建sonarqube项目 >> unit_test
使用重复的项目对象创建sonarqube项目 >> Could not create Project, key already exists: unit_test
*/
$sonarqube = $tester->loadModel('sonarqube');
$sonarqubeID = 0;
$project = new stdclass();
$result = $sonarqube->apiCreateProject($sonarqubeID, $project);
if($result === false) $result = 'return false';
r($result) && p() && e('return false'); //使用空的sonarqubeID、项目对象创建sonarqube项目
$project->projectName = 'unit_test';
$project->projectKey = 'unit_test';
$result = $sonarqube->apiCreateProject($sonarqubeID, $project);
if($result === false) $result = 'return false';
r($result) && p() && e('return false'); //使用空的sonarqubeID、正确的项目对象创建sonarqube项目
$sonarqubeID = 2;
$sonarqube->apiDeleteProject($sonarqubeID, $project->projectKey);
$result = $sonarqube->apiCreateProject($sonarqubeID, $project);
r($result) && p('project:key') && e('unit test'); //使用正确的sonarqubeID,项目对象创建sonarqube项目
$result = $sonarqube->apiCreateProject($sonarqubeID, $project);
r($result->errors) && p('0:msg') && e("Could not create Project, key already exists: unit_test"); //使用重复的项目对象创建sonarqube项目
+30
View File
@@ -0,0 +1,30 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 sonarqubeModel::apiGetIssues();
cid=1
pid=1
通过sonarqubeID,获取SonarQube问题列表 >> 1
通过sonarqubeID,项目key获取SonarQube问题列表 >> 1
当sonarqubeID为0时,获取SonarQube问题列表 >> return empty
*/
$sonarqube = $tester->loadModel('sonarqube');
$sonarqubeID = 2;
$result = $sonarqube->apiGetIssues($sonarqubeID);
r(isset($result[0]->message)) && p() && e('1'); //通过sonarqubeID,获取SonarQube问题列表
$projectKey = 'zentaopms';
$result = $sonarqube->apiGetIssues($sonarqubeID, $projectKey);
r(isset($result[0]->message)) && p() && e('1'); //通过sonarqubeID,项目key获取SonarQube问题列表
$sonarqubeID = 0;
$result = $sonarqube->apiGetIssues($sonarqubeID);
if(empty($result)) $result = 'return empty';
r($result) && p() && e('return empty'); //当sonarqubeID为0时,获取SonarQube问题列表
+45
View File
@@ -0,0 +1,45 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 sonarqubeModel::createProject();
cid=1
pid=1
使用空的项目数据,空的sonarqubeID创建Sonarqube项目 >> 『项目名称』不能为空
使用错误项目数据,正确的sonarqubeID创建Sonarqube项目 >> return error
使用正确的项目数据,空的sonarqubeID创建Sonarqube项目 >> return false
使用正确的sonarqubeID和Sonarqube项目信息创建Sonarqube项目 >> 1
*/
$sonarqube = $tester->loadModel('sonarqube');
$sonarqubeID = 0;
$_POST['projectName'] = '';
$_POST['projectKey'] = '';
$sonarqube->createProject($sonarqubeID);
r(dao::getError()) && p('projectName:0') && e('『项目名称』不能为空'); //使用空的项目数据,空的sonarqubeID创建Sonarqube项目
$sonarqubeID = 2;
$_POST['projectName'] = 'unit_test';
$_POST['projectKey'] = '@#';
$sonarqube->createProject($sonarqubeID);
$errors = dao::getError();
if(array_shift($errors) == "项目标识的格式不正确。允许的字符为字母、数字、'-'、''、'.'和“:”,至少有一个非数字。") $result = 'return error';
r($result) && p() && e("return error"); //使用错误项目数据,正确的sonarqubeID创建Sonarqube项目
$sonarqubeID = 0;
$_POST['projectName'] = 'unit_test';
$_POST['projectKey'] = 'unit_test';
$result = $sonarqube->createProject($sonarqubeID);
if(empty($result)) $result = 'return false';
r($result) && p() && e('return false'); //使用正确的项目数据,空的sonarqubeID创建Sonarqube项目
dao::getError();
$sonarqubeID = 2;
$sonarqube->apiDeleteProject($sonarqubeID, $_POST['projectKey']);
$result = $sonarqube->createProject($sonarqubeID);
r($result) && p() && e(1); //使用正确的sonarqubeID和Sonarqube项目信息创建Sonarqube项目
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 sonarqubeModel::getCacheFile();
cid=1
pid=1
使用正确的sonarqubeID,项目key获取缓存文件 >> 1
*/
$sonarqube = $tester->loadModel('sonarqube');
$sonarqubeID = 2;
$projectKey = 'unit_test';
$result = $sonarqube->getCacheFile($sonarqubeID, $projectKey);
r(strPos($result, '/' . $sonarqubeID . '-' ) !== false) && p('') && e(1); //使用正确的sonarqubeID,项目key获取缓存文件