github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/checkmarxone/reporting_test.go (about) 1 package checkmarxOne 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestCreateJSONReport(t *testing.T) { 10 resultMap := map[string]interface{}{} 11 resultMap["ToolName"] = `checkmarxone` 12 resultMap["ProjectName"] = `ssba` 13 resultMap["Group"] = `test-group` 14 resultMap["GroupFullPathOnReportDate"] = `test-group-path` 15 resultMap["Application"] = `test-app` 16 resultMap["ApplicationFullPathOnReportDate"] = `test-app-path` 17 resultMap["DeepLink"] = `https://cx1.sap/projects/f5702f86-b396-417f-82e2-4949a55d5382/scans?branch=master&page=1&id=21e40b36-0dd7-48e5-9768-da1a8f36c907` 18 resultMap["Preset"] = `Checkmarx Default` 19 resultMap["ToolVersion"] = `v1` 20 resultMap["ScanType"] = `Incremental` 21 resultMap["ProjectId"] = `f5702f86-b396-417f-82e2-4949a55d5382` 22 resultMap["ScanId"] = `21e40b36-0dd7-48e5-9768-da1a8f36c907` 23 24 resultMap["High"] = map[string]int{} 25 resultMap["Medium"] = map[string]int{} 26 resultMap["Low"] = map[string]int{} 27 resultMap["Information"] = map[string]int{} 28 submap := map[string]int{} 29 submap["Issues"] = 10 30 submap["NotFalsePositive"] = 10 31 resultMap["High"] = submap 32 33 submap = map[string]int{} 34 submap["Issues"] = 4 35 submap["NotFalsePositive"] = 0 36 resultMap["Medium"] = submap 37 38 submap = map[string]int{} 39 submap["Issues"] = 2 40 submap["NotFalsePositive"] = 2 41 submap["Confirmed"] = 1 42 submap["NotExploitable"] = 1 43 resultMap["Low"] = submap 44 45 submap = map[string]int{} 46 submap["Issues"] = 5 47 submap["NotFalsePositive"] = 5 48 resultMap["Information"] = submap 49 50 lowPerQuery := map[string]map[string]int{} 51 submap = map[string]int{} 52 submap["Issues"] = 4 53 submap["Confirmed"] = 0 54 submap["NotExploitable"] = 0 55 lowPerQuery["Low_Query_Name_1"] = submap 56 57 submap = map[string]int{} 58 submap["Issues"] = 5 59 submap["Confirmed"] = 2 60 submap["NotExploitable"] = 3 61 lowPerQuery["Low_Query_Name_2"] = submap 62 63 resultMap["LowPerQuery"] = lowPerQuery 64 65 reportingData := CreateJSONHeaderReport(&resultMap) 66 assert.Equal(t, "21e40b36-0dd7-48e5-9768-da1a8f36c907", reportingData.ScanID) 67 assert.Equal(t, "ssba", reportingData.ProjectName) 68 assert.Equal(t, "f5702f86-b396-417f-82e2-4949a55d5382", reportingData.ProjectID) 69 assert.Equal(t, "test-group", reportingData.GroupID) 70 assert.Equal(t, "test-group-path", reportingData.GroupName) 71 assert.Equal(t, "CheckmarxOne", reportingData.ToolName) 72 assert.Equal(t, "https://cx1.sap/projects/f5702f86-b396-417f-82e2-4949a55d5382/scans?branch=master&page=1&id=21e40b36-0dd7-48e5-9768-da1a8f36c907", reportingData.DeepLink) 73 assert.Equal(t, "Checkmarx Default", reportingData.Preset) 74 assert.Equal(t, "v1", reportingData.ToolVersion) 75 assert.Equal(t, "Incremental", reportingData.ScanType) 76 77 lowList := (*reportingData.Findings)[2].LowPerQuery 78 lowListLen := len(*lowList) 79 assert.Equal(t, 2, lowListLen) 80 81 for i := 0; i < lowListLen; i++ { 82 if (*lowList)[i].QueryName == "Low_Query_Name_1" { 83 assert.Equal(t, 0, (*lowList)[i].Audited) 84 assert.Equal(t, 4, (*lowList)[i].Total) 85 } 86 87 if (*lowList)[i].QueryName == "Low_Query_Name_2" { 88 assert.Equal(t, 5, (*lowList)[i].Audited) 89 assert.Equal(t, 5, (*lowList)[i].Total) 90 } 91 } 92 93 lowPerQuery = map[string]map[string]int{} 94 submap = map[string]int{} 95 submap["Issues"] = 100 96 submap["Confirmed"] = 10 97 submap["NotExploitable"] = 0 98 lowPerQuery["Low_Query_Name_1"] = submap 99 100 submap = map[string]int{} 101 submap["Issues"] = 5 102 submap["Confirmed"] = 2 103 submap["NotExploitable"] = 3 104 lowPerQuery["Low_Query_Name_2"] = submap 105 106 resultMap["LowPerQuery"] = lowPerQuery 107 }