You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2023/02/15 03:47:30 UTC

[incubator-devlake] branch main updated: fix(sonarqube): change domain prefix (#4421)

This is an automated email from the ASF dual-hosted git repository.

abeizn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 052c9f53d fix(sonarqube): change domain prefix (#4421)
052c9f53d is described below

commit 052c9f53d139303779e625c2689ed3abd05d8ce2
Author: Warren Chen <yi...@merico.dev>
AuthorDate: Wed Feb 15 11:47:26 2023 +0800

    fix(sonarqube): change domain prefix (#4421)
---
 .../cq_file_metrics.go}                              |  8 ++++----
 .../cq_issue_code_blocks.go}                         |  8 ++++----
 .../st_issues.go => codequality/cq_issues.go}        |  8 ++++----
 .../st_projects.go => codequality/cq_projects.go}    | 14 +++++++-------
 ...urity_testing.go => 20230208_add_code_quality.go} | 20 ++++++++++----------
 .../{st_file_metrics.go => cq_file_metrics.go}       |  6 +++---
 ..._issue_code_blocks.go => cq_issue_code_blocks.go} |  6 +++---
 .../archived/{st_issues.go => cq_issues.go}          |  6 +++---
 .../archived/{st_projects.go => cq_projects.go}      |  6 +++---
 backend/core/models/migrationscripts/register.go     |  2 +-
 backend/core/plugin/plugin_task.go                   | 14 +++++++-------
 backend/plugins/sonarqube/api/blueprint_v200.go      |  6 +++---
 backend/plugins/sonarqube/api/blueprint_v200_test.go |  6 +++---
 backend/plugins/sonarqube/e2e/filemetrics_test.go    |  6 +++---
 backend/plugins/sonarqube/e2e/hotspot_test.go        |  6 +++---
 backend/plugins/sonarqube/e2e/issue_test.go          | 10 +++++-----
 backend/plugins/sonarqube/e2e/project_test.go        |  6 +++---
 .../plugins/sonarqube/tasks/filemetrics_collector.go |  2 +-
 .../plugins/sonarqube/tasks/filemetrics_convertor.go |  8 ++++----
 .../plugins/sonarqube/tasks/filemetrics_extractor.go |  2 +-
 .../plugins/sonarqube/tasks/hotspots_collector.go    |  2 +-
 .../plugins/sonarqube/tasks/hotspots_convertor.go    |  8 ++++----
 .../plugins/sonarqube/tasks/hotspots_extractor.go    |  2 +-
 .../sonarqube/tasks/issue_code_blocks_convertor.go   |  8 ++++----
 backend/plugins/sonarqube/tasks/issues_collector.go  |  2 +-
 backend/plugins/sonarqube/tasks/issues_convertor.go  |  8 ++++----
 backend/plugins/sonarqube/tasks/issues_extractor.go  |  2 +-
 .../plugins/sonarqube/tasks/projects_collector.go    |  2 +-
 .../plugins/sonarqube/tasks/projects_convertor.go    |  6 +++---
 .../plugins/sonarqube/tasks/projects_extractor.go    |  2 +-
 30 files changed, 96 insertions(+), 96 deletions(-)

diff --git a/backend/core/models/domainlayer/securitytesting/st_file_metrics.go b/backend/core/models/domainlayer/codequality/cq_file_metrics.go
similarity index 94%
rename from backend/core/models/domainlayer/securitytesting/st_file_metrics.go
rename to backend/core/models/domainlayer/codequality/cq_file_metrics.go
index c22952a02..7a2801c0a 100644
--- a/backend/core/models/domainlayer/securitytesting/st_file_metrics.go
+++ b/backend/core/models/domainlayer/codequality/cq_file_metrics.go
@@ -15,13 +15,13 @@ See the License for the specific language governing permissions and
 limitations under the License.
 */
 
-package securitytesting
+package codequality
 
 import (
 	"github.com/apache/incubator-devlake/core/models/domainlayer"
 )
 
-type StFileMetrics struct {
+type CqFileMetrics struct {
 	domainlayer.DomainEntity
 	ProjectKey               string  `gorm:"index;type:varchar(255)"` //domain project key
 	FileName                 string  `json:"file_name"`
@@ -44,6 +44,6 @@ type StFileMetrics struct {
 	DuplicatedBlocks         int     `json:"duplicated_blocks"`
 }
 
-func (StFileMetrics) TableName() string {
-	return "st_file_metrics"
+func (CqFileMetrics) TableName() string {
+	return "cq_file_metrics"
 }
diff --git a/backend/core/models/domainlayer/securitytesting/st_issue_code_blocks.go b/backend/core/models/domainlayer/codequality/cq_issue_code_blocks.go
similarity index 89%
rename from backend/core/models/domainlayer/securitytesting/st_issue_code_blocks.go
rename to backend/core/models/domainlayer/codequality/cq_issue_code_blocks.go
index e34356b4b..8d6a20198 100644
--- a/backend/core/models/domainlayer/securitytesting/st_issue_code_blocks.go
+++ b/backend/core/models/domainlayer/codequality/cq_issue_code_blocks.go
@@ -15,11 +15,11 @@ See the License for the specific language governing permissions and
 limitations under the License.
 */
 
-package securitytesting
+package codequality
 
 import "github.com/apache/incubator-devlake/core/models/domainlayer"
 
-type StIssueCodeBlock struct {
+type CqIssueCodeBlock struct {
 	domainlayer.DomainEntity
 	IssueKey    string `json:"key" gorm:"index"`
 	Component   string `json:"component" gorm:"index"`
@@ -30,6 +30,6 @@ type StIssueCodeBlock struct {
 	Msg         string `json:"msg" `
 }
 
-func (StIssueCodeBlock) TableName() string {
-	return "st_issue_code_blocks"
+func (CqIssueCodeBlock) TableName() string {
+	return "cq_issue_code_blocks"
 }
diff --git a/backend/core/models/domainlayer/securitytesting/st_issues.go b/backend/core/models/domainlayer/codequality/cq_issues.go
similarity index 96%
rename from backend/core/models/domainlayer/securitytesting/st_issues.go
rename to backend/core/models/domainlayer/codequality/cq_issues.go
index 4963f8dbb..2d658e724 100644
--- a/backend/core/models/domainlayer/securitytesting/st_issues.go
+++ b/backend/core/models/domainlayer/codequality/cq_issues.go
@@ -15,14 +15,14 @@ See the License for the specific language governing permissions and
 limitations under the License.
 */
 
-package securitytesting
+package codequality
 
 import (
 	"github.com/apache/incubator-devlake/core/models/domainlayer"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
 )
 
-type StIssue struct {
+type CqIssue struct {
 	domainlayer.DomainEntity
 	Rule                     string           `json:"rule" gorm:"type:varchar(255)"`
 	Severity                 string           `json:"severity" gorm:"type:varchar(255)"`
@@ -49,6 +49,6 @@ type StIssue struct {
 	UpdateDate               *api.Iso8601Time `json:"updateDate"`
 }
 
-func (StIssue) TableName() string {
-	return "st_issues"
+func (CqIssue) TableName() string {
+	return "cq_issues"
 }
diff --git a/backend/core/models/domainlayer/securitytesting/st_projects.go b/backend/core/models/domainlayer/codequality/cq_projects.go
similarity index 85%
rename from backend/core/models/domainlayer/securitytesting/st_projects.go
rename to backend/core/models/domainlayer/codequality/cq_projects.go
index 8f004cd50..c354bea45 100644
--- a/backend/core/models/domainlayer/securitytesting/st_projects.go
+++ b/backend/core/models/domainlayer/codequality/cq_projects.go
@@ -15,7 +15,7 @@ See the License for the specific language governing permissions and
 limitations under the License.
 */
 
-package securitytesting
+package codequality
 
 import (
 	"github.com/apache/incubator-devlake/core/models/domainlayer"
@@ -23,9 +23,9 @@ import (
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
 )
 
-var _ plugin.Scope = (*StProject)(nil)
+var _ plugin.Scope = (*CqProject)(nil)
 
-type StProject struct {
+type CqProject struct {
 	domainlayer.DomainEntity
 	Name             string           `json:"name" gorm:"type:varchar(255)"`
 	Qualifier        string           `json:"qualifier" gorm:"type:varchar(255)"`
@@ -34,14 +34,14 @@ type StProject struct {
 	CommitSha        string           `json:"revision" gorm:"type:varchar(128)"`
 }
 
-func (StProject) TableName() string {
-	return "st_projects"
+func (CqProject) TableName() string {
+	return "cq_projects"
 }
 
-func (s *StProject) ScopeId() string {
+func (s *CqProject) ScopeId() string {
 	return s.Id
 }
 
-func (s *StProject) ScopeName() string {
+func (s *CqProject) ScopeName() string {
 	return s.Name
 }
diff --git a/backend/core/models/migrationscripts/20230208_add_security_testing.go b/backend/core/models/migrationscripts/20230208_add_code_quality.go
similarity index 75%
rename from backend/core/models/migrationscripts/20230208_add_security_testing.go
rename to backend/core/models/migrationscripts/20230208_add_code_quality.go
index c5add37cb..a1d23986b 100644
--- a/backend/core/models/migrationscripts/20230208_add_security_testing.go
+++ b/backend/core/models/migrationscripts/20230208_add_code_quality.go
@@ -24,22 +24,22 @@ import (
 	"github.com/apache/incubator-devlake/helpers/migrationhelper"
 )
 
-type addSecurityTesting struct{}
+type addCodeQuality struct{}
 
-func (u *addSecurityTesting) Up(basicRes context.BasicRes) errors.Error {
+func (u *addCodeQuality) Up(basicRes context.BasicRes) errors.Error {
 	return migrationhelper.AutoMigrateTables(
 		basicRes,
-		&archived.StProject{},
-		&archived.StIssue{},
-		&archived.StIssueCodeBlock{},
-		&archived.StFileMetrics{},
+		&archived.CqProject{},
+		&archived.CqIssue{},
+		&archived.CqIssueCodeBlock{},
+		&archived.CqFileMetrics{},
 	)
 }
 
-func (*addSecurityTesting) Version() uint64 {
-	return 20230208000015
+func (*addCodeQuality) Version() uint64 {
+	return 20230208000019
 }
 
-func (*addSecurityTesting) Name() string {
-	return "add SecurityTesting domain"
+func (*addCodeQuality) Name() string {
+	return "add code quality domain"
 }
diff --git a/backend/core/models/migrationscripts/archived/st_file_metrics.go b/backend/core/models/migrationscripts/archived/cq_file_metrics.go
similarity index 95%
rename from backend/core/models/migrationscripts/archived/st_file_metrics.go
rename to backend/core/models/migrationscripts/archived/cq_file_metrics.go
index 5a5e11162..de33a8b77 100644
--- a/backend/core/models/migrationscripts/archived/st_file_metrics.go
+++ b/backend/core/models/migrationscripts/archived/cq_file_metrics.go
@@ -17,7 +17,7 @@ limitations under the License.
 
 package archived
 
-type StFileMetrics struct {
+type CqFileMetrics struct {
 	DomainEntity
 	ProjectKey               string  `gorm:"index;type:varchar(255)"` //domain project key
 	FileName                 string  `json:"file_name"`
@@ -40,6 +40,6 @@ type StFileMetrics struct {
 	DuplicatedBlocks         int     `json:"duplicated_blocks"`
 }
 
-func (StFileMetrics) TableName() string {
-	return "st_file_metrics"
+func (CqFileMetrics) TableName() string {
+	return "cq_file_metrics"
 }
diff --git a/backend/core/models/migrationscripts/archived/st_issue_code_blocks.go b/backend/core/models/migrationscripts/archived/cq_issue_code_blocks.go
similarity index 91%
rename from backend/core/models/migrationscripts/archived/st_issue_code_blocks.go
rename to backend/core/models/migrationscripts/archived/cq_issue_code_blocks.go
index 381710d9c..8a33eeb27 100644
--- a/backend/core/models/migrationscripts/archived/st_issue_code_blocks.go
+++ b/backend/core/models/migrationscripts/archived/cq_issue_code_blocks.go
@@ -17,7 +17,7 @@ limitations under the License.
 
 package archived
 
-type StIssueCodeBlock struct {
+type CqIssueCodeBlock struct {
 	DomainEntity
 	IssueKey    string `json:"key" gorm:"index"`
 	Component   string `json:"component" gorm:"index"`
@@ -28,6 +28,6 @@ type StIssueCodeBlock struct {
 	Msg         string `json:"msg" `
 }
 
-func (StIssueCodeBlock) TableName() string {
-	return "st_issue_code_blocks"
+func (CqIssueCodeBlock) TableName() string {
+	return "cq_issue_code_blocks"
 }
diff --git a/backend/core/models/migrationscripts/archived/st_issues.go b/backend/core/models/migrationscripts/archived/cq_issues.go
similarity index 97%
rename from backend/core/models/migrationscripts/archived/st_issues.go
rename to backend/core/models/migrationscripts/archived/cq_issues.go
index 72c0748d8..e548ffb94 100644
--- a/backend/core/models/migrationscripts/archived/st_issues.go
+++ b/backend/core/models/migrationscripts/archived/cq_issues.go
@@ -21,7 +21,7 @@ import (
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
 )
 
-type StIssue struct {
+type CqIssue struct {
 	DomainEntity
 	Rule                     string           `json:"rule" gorm:"type:varchar(255)"`
 	Severity                 string           `json:"severity" gorm:"type:varchar(255)"`
@@ -48,6 +48,6 @@ type StIssue struct {
 	UpdateDate               *api.Iso8601Time `json:"updateDate"`
 }
 
-func (StIssue) TableName() string {
-	return "st_issues"
+func (CqIssue) TableName() string {
+	return "cq_issues"
 }
diff --git a/backend/core/models/migrationscripts/archived/st_projects.go b/backend/core/models/migrationscripts/archived/cq_projects.go
similarity index 93%
rename from backend/core/models/migrationscripts/archived/st_projects.go
rename to backend/core/models/migrationscripts/archived/cq_projects.go
index ebd8f10ec..d17763f74 100644
--- a/backend/core/models/migrationscripts/archived/st_projects.go
+++ b/backend/core/models/migrationscripts/archived/cq_projects.go
@@ -21,7 +21,7 @@ import (
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
 )
 
-type StProject struct {
+type CqProject struct {
 	DomainEntity
 	Name             string           `json:"name" gorm:"type:varchar(255)"`
 	Qualifier        string           `json:"qualifier" gorm:"type:varchar(255)"`
@@ -30,6 +30,6 @@ type StProject struct {
 	CommitSha        string           `gorm:"type:varchar(128)"`
 }
 
-func (StProject) TableName() string {
-	return "st_projects"
+func (CqProject) TableName() string {
+	return "cq_projects"
 }
diff --git a/backend/core/models/migrationscripts/register.go b/backend/core/models/migrationscripts/register.go
index 3f77dd82f..8a1575335 100644
--- a/backend/core/models/migrationscripts/register.go
+++ b/backend/core/models/migrationscripts/register.go
@@ -69,6 +69,6 @@ func All() []plugin.MigrationScript {
 		new(encryptTask221221),
 		new(renameProjectMetrics),
 		new(addOriginalTypeToIssue221230),
-		new(addSecurityTesting),
+		new(addCodeQuality),
 	}
 }
diff --git a/backend/core/plugin/plugin_task.go b/backend/core/plugin/plugin_task.go
index ccf197e36..9bc595e49 100644
--- a/backend/core/plugin/plugin_task.go
+++ b/backend/core/plugin/plugin_task.go
@@ -72,12 +72,12 @@ type SubTask interface {
 // SubTaskEntryPoint All subtasks from plugins should comply to this prototype, so they could be orchestrated by framework
 type SubTaskEntryPoint func(c SubTaskContext) errors.Error
 
-const DOMAIN_TYPE_CODE = "CODE"                        //nolint
-const DOMAIN_TYPE_TICKET = "TICKET"                    //nolint
-const DOMAIN_TYPE_CODE_REVIEW = "CODEREVIEW"           //nolint
-const DOMAIN_TYPE_CROSS = "CROSS"                      //nolint
-const DOMAIN_TYPE_CICD = "CICD"                        //nolint
-const DOMAIN_TYPE_SECURITY_TESTING = "SECURITYTESTING" //nolint
+const DOMAIN_TYPE_CODE = "CODE"                //nolint
+const DOMAIN_TYPE_TICKET = "TICKET"            //nolint
+const DOMAIN_TYPE_CODE_REVIEW = "CODEREVIEW"   //nolint
+const DOMAIN_TYPE_CROSS = "CROSS"              //nolint
+const DOMAIN_TYPE_CICD = "CICD"                //nolint
+const DOMAIN_TYPE_CODE_QUALITY = "CODEQUALITY" //nolint
 
 var DOMAIN_TYPES = []string{
 	DOMAIN_TYPE_CODE,
@@ -85,7 +85,7 @@ var DOMAIN_TYPES = []string{
 	DOMAIN_TYPE_CODE_REVIEW,
 	DOMAIN_TYPE_CROSS,
 	DOMAIN_TYPE_CICD,
-	DOMAIN_TYPE_SECURITY_TESTING,
+	DOMAIN_TYPE_CODE_QUALITY,
 } //nolint
 
 // SubTaskMeta Metadata of a subtask
diff --git a/backend/plugins/sonarqube/api/blueprint_v200.go b/backend/plugins/sonarqube/api/blueprint_v200.go
index 33fa3bdc6..d2920f8bc 100644
--- a/backend/plugins/sonarqube/api/blueprint_v200.go
+++ b/backend/plugins/sonarqube/api/blueprint_v200.go
@@ -22,8 +22,8 @@ import (
 	"github.com/apache/incubator-devlake/core/dal"
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/didgen"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/core/utils"
 	helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
@@ -92,8 +92,8 @@ func makeScopesV200(bpScopes []*plugin.BlueprintScopeV200, connectionId uint64)
 			return nil, errors.Default.Wrap(err, fmt.Sprintf("fail to find sonarqube project %s", bpScope.Id))
 		}
 		// add board to scopes
-		if utils.StringsContains(bpScope.Entities, plugin.DOMAIN_TYPE_SECURITY_TESTING) {
-			stProject := &securitytesting.StProject{
+		if utils.StringsContains(bpScope.Entities, plugin.DOMAIN_TYPE_CODE_QUALITY) {
+			stProject := &codequality.CqProject{
 				DomainEntity: domainlayer.DomainEntity{
 					Id: didgen.NewDomainIdGenerator(&models.SonarqubeProject{}).Generate(sonarqubeProject.ConnectionId, sonarqubeProject.ProjectKey),
 				},
diff --git a/backend/plugins/sonarqube/api/blueprint_v200_test.go b/backend/plugins/sonarqube/api/blueprint_v200_test.go
index 02cfef76e..354dfc444 100644
--- a/backend/plugins/sonarqube/api/blueprint_v200_test.go
+++ b/backend/plugins/sonarqube/api/blueprint_v200_test.go
@@ -19,7 +19,7 @@ package api
 
 import (
 	"github.com/apache/incubator-devlake/core/models/domainlayer"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/core/plugin"
 	mockcontext "github.com/apache/incubator-devlake/mocks/core/context"
 	mockdal "github.com/apache/incubator-devlake/mocks/core/dal"
@@ -36,7 +36,7 @@ func TestMakeDataSourcePipelinePlanV200(t *testing.T) {
 	err := plugin.RegisterPlugin("sonarqube", mockMeta)
 	assert.Nil(t, err)
 	bs := &plugin.BlueprintScopeV200{
-		Entities: []string{"SECURITYTESTING"},
+		Entities: []string{"CODEQUALITY"},
 		Id:       "f5a50c63-2e8f-4107-9014-853f6f467757",
 	}
 	syncPolicy := &plugin.BlueprintSyncPolicy{}
@@ -64,7 +64,7 @@ func TestMakeDataSourcePipelinePlanV200(t *testing.T) {
 	assert.Equal(t, expectPlan, plan)
 
 	expectScopes := make([]plugin.Scope, 0)
-	sonarqubeProject := &securitytesting.StProject{
+	sonarqubeProject := &codequality.CqProject{
 		DomainEntity: domainlayer.DomainEntity{
 			Id: "sonarqube:SonarqubeProject:1:f5a50c63-2e8f-4107-9014-853f6f467757",
 		},
diff --git a/backend/plugins/sonarqube/e2e/filemetrics_test.go b/backend/plugins/sonarqube/e2e/filemetrics_test.go
index 09975764a..b59fe15db 100644
--- a/backend/plugins/sonarqube/e2e/filemetrics_test.go
+++ b/backend/plugins/sonarqube/e2e/filemetrics_test.go
@@ -19,7 +19,7 @@ import (
 	"testing"
 
 	"github.com/apache/incubator-devlake/core/models/common"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/helpers/e2ehelper"
 	"github.com/apache/incubator-devlake/plugins/sonarqube/impl"
 	"github.com/apache/incubator-devlake/plugins/sonarqube/models"
@@ -61,9 +61,9 @@ func TestSonarqubeFileMetricsDataFlow(t *testing.T) {
 	})
 
 	// verify convertor
-	dataflowTester.FlushTabler(&securitytesting.StFileMetrics{})
+	dataflowTester.FlushTabler(&codequality.CqFileMetrics{})
 	dataflowTester.Subtask(tasks.ConvertFileMetricsMeta, taskData)
-	dataflowTester.VerifyTableWithOptions(&securitytesting.StFileMetrics{}, e2ehelper.TableOptions{
+	dataflowTester.VerifyTableWithOptions(&codequality.CqFileMetrics{}, e2ehelper.TableOptions{
 		CSVRelPath:  "./snapshot_tables/filemetrics.csv",
 		IgnoreTypes: []interface{}{common.NoPKModel{}},
 	})
diff --git a/backend/plugins/sonarqube/e2e/hotspot_test.go b/backend/plugins/sonarqube/e2e/hotspot_test.go
index 5b4339334..32c46838a 100644
--- a/backend/plugins/sonarqube/e2e/hotspot_test.go
+++ b/backend/plugins/sonarqube/e2e/hotspot_test.go
@@ -19,7 +19,7 @@ import (
 	"testing"
 
 	"github.com/apache/incubator-devlake/core/models/common"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/helpers/e2ehelper"
 	"github.com/apache/incubator-devlake/plugins/sonarqube/impl"
 	"github.com/apache/incubator-devlake/plugins/sonarqube/models"
@@ -61,9 +61,9 @@ func TestSonarqubeHotspotDataFlow(t *testing.T) {
 	})
 
 	// verify convertor
-	dataflowTester.FlushTabler(&securitytesting.StIssue{})
+	dataflowTester.FlushTabler(&codequality.CqIssue{})
 	dataflowTester.Subtask(tasks.ConvertHotspotsMeta, taskData)
-	dataflowTester.VerifyTableWithOptions(&securitytesting.StIssue{}, e2ehelper.TableOptions{
+	dataflowTester.VerifyTableWithOptions(&codequality.CqIssue{}, e2ehelper.TableOptions{
 		CSVRelPath:  "./snapshot_tables/issue_hotspots.csv",
 		IgnoreTypes: []interface{}{common.NoPKModel{}},
 	})
diff --git a/backend/plugins/sonarqube/e2e/issue_test.go b/backend/plugins/sonarqube/e2e/issue_test.go
index 08f4c4951..93788b437 100644
--- a/backend/plugins/sonarqube/e2e/issue_test.go
+++ b/backend/plugins/sonarqube/e2e/issue_test.go
@@ -19,7 +19,7 @@ import (
 	"testing"
 
 	"github.com/apache/incubator-devlake/core/models/common"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/helpers/e2ehelper"
 	"github.com/apache/incubator-devlake/plugins/sonarqube/impl"
 	"github.com/apache/incubator-devlake/plugins/sonarqube/models"
@@ -66,15 +66,15 @@ func TestSonarqubeIssueDataFlow(t *testing.T) {
 	})
 
 	// verify convertor
-	dataflowTester.FlushTabler(&securitytesting.StIssue{})
-	dataflowTester.FlushTabler(&securitytesting.StIssueCodeBlock{})
+	dataflowTester.FlushTabler(&codequality.CqIssue{})
+	dataflowTester.FlushTabler(&codequality.CqIssueCodeBlock{})
 	dataflowTester.Subtask(tasks.ConvertIssuesMeta, taskData)
-	dataflowTester.VerifyTableWithOptions(&securitytesting.StIssue{}, e2ehelper.TableOptions{
+	dataflowTester.VerifyTableWithOptions(&codequality.CqIssue{}, e2ehelper.TableOptions{
 		CSVRelPath:  "./snapshot_tables/issues.csv",
 		IgnoreTypes: []interface{}{common.NoPKModel{}},
 	})
 	dataflowTester.Subtask(tasks.ConvertIssueCodeBlocksMeta, taskData)
-	dataflowTester.VerifyTableWithOptions(&securitytesting.StIssueCodeBlock{}, e2ehelper.TableOptions{
+	dataflowTester.VerifyTableWithOptions(&codequality.CqIssueCodeBlock{}, e2ehelper.TableOptions{
 		CSVRelPath:  "./snapshot_tables/issue_code_blocks.csv",
 		IgnoreTypes: []interface{}{common.NoPKModel{}},
 	})
diff --git a/backend/plugins/sonarqube/e2e/project_test.go b/backend/plugins/sonarqube/e2e/project_test.go
index e0cadd12e..aeea1adec 100644
--- a/backend/plugins/sonarqube/e2e/project_test.go
+++ b/backend/plugins/sonarqube/e2e/project_test.go
@@ -21,7 +21,7 @@ import (
 	"testing"
 
 	"github.com/apache/incubator-devlake/core/models/common"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/helpers/e2ehelper"
 	"github.com/apache/incubator-devlake/plugins/sonarqube/impl"
 	"github.com/apache/incubator-devlake/plugins/sonarqube/models"
@@ -61,9 +61,9 @@ func TestSonarqubeProjectDataFlow(t *testing.T) {
 		IgnoreTypes: []interface{}{common.NoPKModel{}},
 	})
 
-	dataflowTester.FlushTabler(&securitytesting.StProject{})
+	dataflowTester.FlushTabler(&codequality.CqProject{})
 	dataflowTester.Subtask(tasks.ConvertProjectsMeta, taskData2)
-	dataflowTester.VerifyTableWithOptions(&securitytesting.StProject{}, e2ehelper.TableOptions{
+	dataflowTester.VerifyTableWithOptions(&codequality.CqProject{}, e2ehelper.TableOptions{
 		CSVRelPath:  "./snapshot_tables/projects.csv",
 		IgnoreTypes: []interface{}{common.NoPKModel{}},
 	})
diff --git a/backend/plugins/sonarqube/tasks/filemetrics_collector.go b/backend/plugins/sonarqube/tasks/filemetrics_collector.go
index 4f4f5282b..5ef1791f1 100644
--- a/backend/plugins/sonarqube/tasks/filemetrics_collector.go
+++ b/backend/plugins/sonarqube/tasks/filemetrics_collector.go
@@ -72,5 +72,5 @@ var CollectFilemetricsMeta = plugin.SubTaskMeta{
 	EntryPoint:       CollectFilemetrics,
 	EnabledByDefault: true,
 	Description:      "Collect Filemetrics data from Sonarqube api",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
diff --git a/backend/plugins/sonarqube/tasks/filemetrics_convertor.go b/backend/plugins/sonarqube/tasks/filemetrics_convertor.go
index b17af0822..4440d3208 100644
--- a/backend/plugins/sonarqube/tasks/filemetrics_convertor.go
+++ b/backend/plugins/sonarqube/tasks/filemetrics_convertor.go
@@ -21,8 +21,8 @@ import (
 	"github.com/apache/incubator-devlake/core/dal"
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/didgen"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
 	sonarqubeModels "github.com/apache/incubator-devlake/plugins/sonarqube/models"
@@ -33,8 +33,8 @@ var ConvertFileMetricsMeta = plugin.SubTaskMeta{
 	Name:             "convertFileMetrics",
 	EntryPoint:       ConvertFileMetrics,
 	EnabledByDefault: true,
-	Description:      "Convert tool layer table sonarqube_file_metrics into  domain layer table st_file_metrics",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	Description:      "Convert tool layer table sonarqube_file_metrics into  domain layer table cq_file_metrics",
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
 
 func ConvertFileMetrics(taskCtx plugin.SubTaskContext) errors.Error {
@@ -55,7 +55,7 @@ func ConvertFileMetrics(taskCtx plugin.SubTaskContext) errors.Error {
 		RawDataSubTaskArgs: *rawDataSubTaskArgs,
 		Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
 			sonarqubeFileMetric := inputRow.(*sonarqubeModels.SonarqubeFileMetrics)
-			domainFileMetric := &securitytesting.StFileMetrics{
+			domainFileMetric := &codequality.CqFileMetrics{
 				DomainEntity:             domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeFileMetric.FileMetricsKey)},
 				FileName:                 sonarqubeFileMetric.FileName,
 				FilePath:                 sonarqubeFileMetric.FilePath,
diff --git a/backend/plugins/sonarqube/tasks/filemetrics_extractor.go b/backend/plugins/sonarqube/tasks/filemetrics_extractor.go
index 163e5ee9b..eff31792b 100644
--- a/backend/plugins/sonarqube/tasks/filemetrics_extractor.go
+++ b/backend/plugins/sonarqube/tasks/filemetrics_extractor.go
@@ -135,7 +135,7 @@ var ExtractFilemetricsMeta = plugin.SubTaskMeta{
 	EntryPoint:       ExtractFilemetrics,
 	EnabledByDefault: true,
 	Description:      "Extract raw data into tool layer table sonarqube_filemetrics",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
 
 type fileMetricsResponse struct {
diff --git a/backend/plugins/sonarqube/tasks/hotspots_collector.go b/backend/plugins/sonarqube/tasks/hotspots_collector.go
index 97ac7d7a7..dcf064ead 100644
--- a/backend/plugins/sonarqube/tasks/hotspots_collector.go
+++ b/backend/plugins/sonarqube/tasks/hotspots_collector.go
@@ -71,5 +71,5 @@ var CollectHotspotsMeta = plugin.SubTaskMeta{
 	EntryPoint:       CollectHotspots,
 	EnabledByDefault: true,
 	Description:      "Collect Hotspots data from Sonarqube api",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
diff --git a/backend/plugins/sonarqube/tasks/hotspots_convertor.go b/backend/plugins/sonarqube/tasks/hotspots_convertor.go
index a2ce2577d..c04172f2e 100644
--- a/backend/plugins/sonarqube/tasks/hotspots_convertor.go
+++ b/backend/plugins/sonarqube/tasks/hotspots_convertor.go
@@ -21,8 +21,8 @@ import (
 	"github.com/apache/incubator-devlake/core/dal"
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/didgen"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
 	sonarqubeModels "github.com/apache/incubator-devlake/plugins/sonarqube/models"
@@ -33,8 +33,8 @@ var ConvertHotspotsMeta = plugin.SubTaskMeta{
 	Name:             "convertHotspots",
 	EntryPoint:       ConvertHotspots,
 	EnabledByDefault: true,
-	Description:      "Convert tool layer table sonarqube_hotspots into  domain layer table st_hotspots",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	Description:      "Convert tool layer table sonarqube_hotspots into  domain layer table cq_hotspots",
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
 
 func ConvertHotspots(taskCtx plugin.SubTaskContext) errors.Error {
@@ -55,7 +55,7 @@ func ConvertHotspots(taskCtx plugin.SubTaskContext) errors.Error {
 		RawDataSubTaskArgs: *rawDataSubTaskArgs,
 		Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
 			sonarqubeHotspot := inputRow.(*sonarqubeModels.SonarqubeHotspot)
-			domainHotspot := &securitytesting.StIssue{
+			domainHotspot := &codequality.CqIssue{
 				DomainEntity:             domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.HotspotKey)},
 				Component:                sonarqubeHotspot.Component,
 				ProjectKey:               projectIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.ProjectKey),
diff --git a/backend/plugins/sonarqube/tasks/hotspots_extractor.go b/backend/plugins/sonarqube/tasks/hotspots_extractor.go
index d231fa5a5..10bdbf779 100644
--- a/backend/plugins/sonarqube/tasks/hotspots_extractor.go
+++ b/backend/plugins/sonarqube/tasks/hotspots_extractor.go
@@ -83,5 +83,5 @@ var ExtractHotspotsMeta = plugin.SubTaskMeta{
 	EntryPoint:       ExtractHotspots,
 	EnabledByDefault: true,
 	Description:      "Extract raw data into tool layer table sonarqube_hotspots",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
diff --git a/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go b/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go
index 615b1ccc5..a0e8b96f8 100644
--- a/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go
+++ b/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go
@@ -20,7 +20,7 @@ package tasks
 import (
 	"reflect"
 
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 
 	"github.com/apache/incubator-devlake/core/dal"
 	"github.com/apache/incubator-devlake/core/errors"
@@ -52,7 +52,7 @@ func ConvertIssueCodeBlocks(taskCtx plugin.SubTaskContext) errors.Error {
 		RawDataSubTaskArgs: *rawDataSubTaskArgs,
 		Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
 			sonarqubeIssueCodeBlock := inputRow.(*models.SonarqubeIssueCodeBlock)
-			domainIssueCodeBlock := &securitytesting.StIssueCodeBlock{
+			domainIssueCodeBlock := &codequality.CqIssueCodeBlock{
 				DomainEntity: domainlayer.DomainEntity{Id: idGen.Generate(data.Options.ConnectionId, sonarqubeIssueCodeBlock.Id)},
 				IssueKey:     issueIdGen.Generate(data.Options.ConnectionId, sonarqubeIssueCodeBlock.IssueKey),
 				Component:    sonarqubeIssueCodeBlock.Component,
@@ -80,6 +80,6 @@ var ConvertIssueCodeBlocksMeta = plugin.SubTaskMeta{
 	Name:             "convertIssueCodeBlocks",
 	EntryPoint:       ConvertIssueCodeBlocks,
 	EnabledByDefault: true,
-	Description:      "Convert tool layer table sonarqube_issues into domain layer table st_issue_code_blocks",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	Description:      "Convert tool layer table sonarqube_issues into domain layer table cq_issue_code_blocks",
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
diff --git a/backend/plugins/sonarqube/tasks/issues_collector.go b/backend/plugins/sonarqube/tasks/issues_collector.go
index c8ca5b3cd..4c12a4fb3 100644
--- a/backend/plugins/sonarqube/tasks/issues_collector.go
+++ b/backend/plugins/sonarqube/tasks/issues_collector.go
@@ -87,5 +87,5 @@ var CollectIssuesMeta = plugin.SubTaskMeta{
 	EntryPoint:       CollectIssues,
 	EnabledByDefault: true,
 	Description:      "Collect issues data from Sonarqube api",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
diff --git a/backend/plugins/sonarqube/tasks/issues_convertor.go b/backend/plugins/sonarqube/tasks/issues_convertor.go
index 20658ec99..137e82173 100644
--- a/backend/plugins/sonarqube/tasks/issues_convertor.go
+++ b/backend/plugins/sonarqube/tasks/issues_convertor.go
@@ -23,8 +23,8 @@ import (
 	"github.com/apache/incubator-devlake/core/dal"
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/didgen"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
 	sonarqubeModels "github.com/apache/incubator-devlake/plugins/sonarqube/models"
@@ -34,8 +34,8 @@ var ConvertIssuesMeta = plugin.SubTaskMeta{
 	Name:             "convertIssues",
 	EntryPoint:       ConvertIssues,
 	EnabledByDefault: true,
-	Description:      "Convert tool layer table sonarqube_issues into  domain layer table st_issues",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	Description:      "Convert tool layer table sonarqube_issues into  domain layer table cq_issues",
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
 
 func ConvertIssues(taskCtx plugin.SubTaskContext) errors.Error {
@@ -56,7 +56,7 @@ func ConvertIssues(taskCtx plugin.SubTaskContext) errors.Error {
 		RawDataSubTaskArgs: *rawDataSubTaskArgs,
 		Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
 			sonarqubeIssue := inputRow.(*sonarqubeModels.SonarqubeIssue)
-			domainIssue := &securitytesting.StIssue{
+			domainIssue := &codequality.CqIssue{
 				DomainEntity:      domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeIssue.IssueKey)},
 				Rule:              sonarqubeIssue.Rule,
 				Severity:          sonarqubeIssue.Severity,
diff --git a/backend/plugins/sonarqube/tasks/issues_extractor.go b/backend/plugins/sonarqube/tasks/issues_extractor.go
index 978efa852..2670910ad 100644
--- a/backend/plugins/sonarqube/tasks/issues_extractor.go
+++ b/backend/plugins/sonarqube/tasks/issues_extractor.go
@@ -107,7 +107,7 @@ var ExtractIssuesMeta = plugin.SubTaskMeta{
 	EntryPoint:       ExtractIssues,
 	EnabledByDefault: true,
 	Description:      "Extract raw data into tool layer table sonarqube_issues",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
 
 type IssuesResponse struct {
diff --git a/backend/plugins/sonarqube/tasks/projects_collector.go b/backend/plugins/sonarqube/tasks/projects_collector.go
index 422e89ebf..ba57b81bf 100644
--- a/backend/plugins/sonarqube/tasks/projects_collector.go
+++ b/backend/plugins/sonarqube/tasks/projects_collector.go
@@ -78,5 +78,5 @@ var CollectProjectsMeta = plugin.SubTaskMeta{
 	EntryPoint:       CollectProjects,
 	EnabledByDefault: true,
 	Description:      "Collect Projects data from Sonarqube api",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
diff --git a/backend/plugins/sonarqube/tasks/projects_convertor.go b/backend/plugins/sonarqube/tasks/projects_convertor.go
index 796971a83..245afab9f 100644
--- a/backend/plugins/sonarqube/tasks/projects_convertor.go
+++ b/backend/plugins/sonarqube/tasks/projects_convertor.go
@@ -23,8 +23,8 @@ import (
 	"github.com/apache/incubator-devlake/core/dal"
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer"
+	"github.com/apache/incubator-devlake/core/models/domainlayer/codequality"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/didgen"
-	"github.com/apache/incubator-devlake/core/models/domainlayer/securitytesting"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
 	sonarqubeModels "github.com/apache/incubator-devlake/plugins/sonarqube/models"
@@ -35,7 +35,7 @@ var ConvertProjectsMeta = plugin.SubTaskMeta{
 	EntryPoint:       ConvertProjects,
 	EnabledByDefault: true,
 	Description:      "Convert tool layer table sonarqube_projects into  domain layer table projects",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
 
 func ConvertProjects(taskCtx plugin.SubTaskContext) errors.Error {
@@ -55,7 +55,7 @@ func ConvertProjects(taskCtx plugin.SubTaskContext) errors.Error {
 		RawDataSubTaskArgs: *rawDataSubTaskArgs,
 		Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
 			sonarqubeProject := inputRow.(*sonarqubeModels.SonarqubeProject)
-			domainProject := &securitytesting.StProject{
+			domainProject := &codequality.CqProject{
 				DomainEntity:     domainlayer.DomainEntity{Id: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeProject.ProjectKey)},
 				Name:             sonarqubeProject.Name,
 				Qualifier:        sonarqubeProject.Qualifier,
diff --git a/backend/plugins/sonarqube/tasks/projects_extractor.go b/backend/plugins/sonarqube/tasks/projects_extractor.go
index 1be1b76f8..46d92bef0 100644
--- a/backend/plugins/sonarqube/tasks/projects_extractor.go
+++ b/backend/plugins/sonarqube/tasks/projects_extractor.go
@@ -65,7 +65,7 @@ var ExtractProjectsMeta = plugin.SubTaskMeta{
 	EntryPoint:       ExtractProjects,
 	EnabledByDefault: true,
 	Description:      "Extract raw data into tool layer table sonarqube_projects",
-	DomainTypes:      []string{plugin.DOMAIN_TYPE_SECURITY_TESTING},
+	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_QUALITY},
 }
 
 type SonarqubeApiProject struct {