github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/protecode/report_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package protecode 5 6 import ( 7 "fmt" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 12 "github.com/SAP/jenkins-library/pkg/mock" 13 ) 14 15 func TestWriteReport(t *testing.T) { 16 files := mock.FilesMock{} 17 18 expected := "{\"target\":\"REPORTFILENAME\",\"mandatory\":true,\"productID\":\"4711\",\"serverUrl\":\"DUMMYURL\",\"count\":\"0\",\"cvss2GreaterOrEqualSeven\":\"4\",\"cvss3GreaterOrEqualSeven\":\"3\",\"excludedVulnerabilities\":\"2\",\"triagedVulnerabilities\":\"0\",\"historicalVulnerabilities\":\"1\",\"Vulnerabilities\":[{\"cve\":\"Vulnerability\",\"cvss\":\"2.5\",\"cvss3_score\":\"5.5\"}]}" 19 20 var parsedResult map[string]int = make(map[string]int) 21 parsedResult["historical_vulnerabilities"] = 1 22 parsedResult["excluded_vulnerabilities"] = 2 23 parsedResult["cvss3GreaterOrEqualSeven"] = 3 24 parsedResult["cvss2GreaterOrEqualSeven"] = 4 25 parsedResult["vulnerabilities"] = 5 26 27 err := WriteReport(ReportData{ServerURL: "DUMMYURL", FailOnSevereVulnerabilities: false, ExcludeCVEs: "", Target: "REPORTFILENAME", ProductID: fmt.Sprintf("%v", 4711), Vulnerabilities: []Vuln{{"Vulnerability", "2.5", "5.5"}}}, ".", "report.json", parsedResult, &files) 28 29 if assert.NoError(t, err) { 30 content, err := files.FileRead("report.json") 31 assert.NoError(t, err) 32 assert.Equal(t, expected, string(content)) 33 } 34 }