Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BenchmarkData ¶
BenchmarkData represents the parsed kube-bench data
func ParseFile ¶
func ParseFile(filePath string) (*BenchmarkData, error)
ParseFile parses a kube-bench output file and returns the structured data
func ParseJUnitXML ¶
func ParseJUnitXML(filePath string) (*BenchmarkData, error)
ParseJUnitXML parses a JUnit XML file and converts it to BenchmarkData
type Check ¶
type Check struct {
ID string `json:"id"`
Text string `json:"text"`
Audit string `json:"audit,omitempty"`
Remediation string `json:"remediation,omitempty"`
State string `json:"state"` // "pass", "fail", "warn", "info", "skipped"
}
Check represents an individual check item
type Control ¶
type Control struct {
ID string `json:"id"`
Text string `json:"text"`
Type string `json:"type"`
Groups []Group `json:"groups"`
}
Control represents a top-level control section (e.g., "Master Node Security Configuration")
type Group ¶
type Group struct {
ID string `json:"id"`
Text string `json:"text"`
Checks []Check `json:"checks"`
}
Group represents a group of checks within a control
type JUnitFailure ¶
type JUnitFailure struct {
XMLName xml.Name `xml:"failure"`
Type string `xml:"type,attr"`
Content string `xml:",chardata"`
}
JUnitFailure represents a failure in a test case
type JUnitSkipped ¶
JUnitSkipped represents a skipped test case
type JUnitTestCase ¶
type JUnitTestCase struct {
XMLName xml.Name `xml:"testcase"`
Name string `xml:"name,attr"`
ClassName string `xml:"classname,attr"`
Time string `xml:"time,attr"`
Failure *JUnitFailure `xml:"failure,omitempty"`
Skipped *JUnitSkipped `xml:"skipped,omitempty"`
SystemOut string `xml:"system-out,omitempty"`
}
JUnitTestCase represents a test case in JUnit XML
type JUnitTestSuite ¶
type JUnitTestSuite struct {
XMLName xml.Name `xml:"testsuite"`
Name string `xml:"name,attr"`
Tests int `xml:"tests,attr"`
Failures int `xml:"failures,attr"`
Errors int `xml:"errors,attr"`
Time string `xml:"time,attr"`
TestCases []JUnitTestCase `xml:"testcase"`
}
JUnitTestSuite represents a test suite in JUnit XML
type JUnitTestSuites ¶
type JUnitTestSuites struct {
XMLName xml.Name `xml:"testsuites"`
TestSuites []JUnitTestSuite `xml:"testsuite"`
}
JUnitTestSuites represents the root element of a JUnit XML file
type TestDetails ¶
type TestDetails struct {
TestNumber string `json:"test_number"`
TestDesc string `json:"test_desc"`
Audit string `json:"audit"`
AuditEnv string `json:"AuditEnv"`
AuditConfig string `json:"AuditConfig"`
Type string `json:"type"`
Remediation string `json:"remediation"`
TestInfo []string `json:"test_info"`
Status string `json:"status"`
ActualValue string `json:"actual_value"`
Scored bool `json:"scored"`
IsMultiple bool `json:"IsMultiple"`
ExpectedResult string `json:"expected_result"`
Reason string `json:"reason,omitempty"`
}
TestDetails represents the detailed test information from system-out