From f10906ab26783085e551d152192176dfc97d045c Mon Sep 17 00:00:00 2001 From: zenggang Date: Mon, 14 Feb 2022 08:14:33 +0000 Subject: [PATCH 1/2] * Add sonarqube model unit --- test/model/sonarqube/apicreateproject.php | 38 +++++++++++++++++++ test/model/sonarqube/apigetissues.php | 30 +++++++++++++++ test/model/sonarqube/createproject.php | 45 +++++++++++++++++++++++ test/model/sonarqube/getcachefile.php | 20 ++++++++++ 4 files changed, 133 insertions(+) create mode 100644 test/model/sonarqube/apicreateproject.php create mode 100644 test/model/sonarqube/apigetissues.php create mode 100644 test/model/sonarqube/createproject.php create mode 100644 test/model/sonarqube/getcachefile.php diff --git a/test/model/sonarqube/apicreateproject.php b/test/model/sonarqube/apicreateproject.php new file mode 100644 index 0000000000..b855d8d647 --- /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..ea7e4de93c --- /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获取缓存文件 From e4f15a70c0b0bcffe89eea3cac42861fe1dd46bb Mon Sep 17 00:00:00 2001 From: zenggang Date: Mon, 14 Feb 2022 08:38:26 +0000 Subject: [PATCH 2/2] * Adjust code --- test/model/sonarqube/apicreateproject.php | 2 +- test/model/sonarqube/getcachefile.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/model/sonarqube/apicreateproject.php b/test/model/sonarqube/apicreateproject.php index b855d8d647..356126cb47 100644 --- a/test/model/sonarqube/apicreateproject.php +++ b/test/model/sonarqube/apicreateproject.php @@ -18,7 +18,7 @@ pid=1 $sonarqube = $tester->loadModel('sonarqube'); $sonarqubeID = 0; -$project = new stdclass(); +$project = new stdclass(); $result = $sonarqube->apiCreateProject($sonarqubeID, $project); if($result === false) $result = 'return false'; diff --git a/test/model/sonarqube/getcachefile.php b/test/model/sonarqube/getcachefile.php index ea7e4de93c..c742096a40 100644 --- a/test/model/sonarqube/getcachefile.php +++ b/test/model/sonarqube/getcachefile.php @@ -16,5 +16,5 @@ $sonarqube = $tester->loadModel('sonarqube'); $sonarqubeID = 2; $projectKey = 'unit_test'; -$result = $sonarqube->getCacheFile($sonarqubeID, $projectKey); +$result = $sonarqube->getCacheFile($sonarqubeID, $projectKey); r(strPos($result, '/' . $sonarqubeID . '-' ) !== false) && p('') && e(1); //使用正确的sonarqubeID,项目key获取缓存文件