2021-05-06 08:31:51 +01:00
|
|
|
package junit
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/xml"
|
|
|
|
"io"
|
2021-05-20 09:16:42 +01:00
|
|
|
|
|
|
|
"github.com/securego/gosec/v2"
|
2021-05-06 08:31:51 +01:00
|
|
|
)
|
|
|
|
|
2021-05-31 09:44:12 +01:00
|
|
|
// WriteReport write a report in JUnit format to the output writer
|
2021-05-20 09:16:42 +01:00
|
|
|
func WriteReport(w io.Writer, data *gosec.ReportInfo) error {
|
2021-05-06 08:31:51 +01:00
|
|
|
junitXMLStruct := GenerateReport(data)
|
|
|
|
raw, err := xml.MarshalIndent(junitXMLStruct, "", "\t")
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
xmlHeader := []byte("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
|
|
|
raw = append(xmlHeader, raw...)
|
|
|
|
_, err = w.Write(raw)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|