diff --git a/test/model/sonarqube/apicreateproject.php b/test/model/sonarqube/apicreateproject.php new file mode 100644 index 0000000000..356126cb47 --- /dev/null +++ b/test/model/sonarqube/apicreateproject.php @@ -0,0 +1,38 @@ +#!/usr/bin/env php +> 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项目 diff --git a/test/model/sonarqube/apigetissues.php b/test/model/sonarqube/apigetissues.php new file mode 100644 index 0000000000..06507d4f1d --- /dev/null +++ b/test/model/sonarqube/apigetissues.php @@ -0,0 +1,30 @@ +#!/usr/bin/env php +> 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问题列表 diff --git a/test/model/sonarqube/createproject.php b/test/model/sonarqube/createproject.php new file mode 100644 index 0000000000..182938d181 --- /dev/null +++ b/test/model/sonarqube/createproject.php @@ -0,0 +1,45 @@ +#!/usr/bin/env php +> 『项目名称』不能为空 +使用错误项目数据,正确的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项目 diff --git a/test/model/sonarqube/getcachefile.php b/test/model/sonarqube/getcachefile.php new file mode 100644 index 0000000000..c742096a40 --- /dev/null +++ b/test/model/sonarqube/getcachefile.php @@ -0,0 +1,20 @@ +#!/usr/bin/env php +> 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获取缓存文件