Repository: datreeio/datree
Pull request #587 (2022-04-25 15:30:47)

feat: add passed count to JUnit output


Patch:
diff --git a/bl/evaluation/junit_output.go b/bl/evaluation/junit_output.go
index a3240d6..610c3ff 100644
--- a/bl/evaluation/junit_output.go
+++ b/bl/evaluation/junit_output.go
@@ -3,6 +3,8 @@ package evaluation
 import (
 	"encoding/xml"
 	"strconv"
+
+	"github.com/datreeio/datree/pkg/cliClient"
 )
 
 // JUnit specifications:
@@ -47,7 +49,7 @@ type failure struct {
 	Content string   `xml:",chardata"`
 }
 
-func FormattedOutputToJUnitOutput(formattedOutput FormattedOutput) JUnitOutput {
+func FormattedOutputToJUnitOutput(formattedOutput FormattedOutput, rulesData []cliClient.RuleData) JUnitOutput {
 	jUnitOutput := JUnitOutput{
 		Name:       formattedOutput.PolicySummary.PolicyName,
 		Tests:      formattedOutput.PolicySummary.TotalRulesInPolicy,
@@ -57,7 +59,7 @@ func FormattedOutputToJUnitOutput(formattedOutput FormattedOutput) JUnitOutput {
 	}
 
 	for _, policyValidationResult := range formattedOutput.PolicyValidationResults {
-		jUnitOutput.TestSuites = append(jUnitOutput.TestSuites, getPolicyValidationResultTestSuite(policyValidationResult))
+		jUnitOutput.TestSuites = append(jUnitOutput.TestSuites, getPolicyValidationResultTestSuite(policyValidationResult, rulesData))
 	}
 	jUnitOutput.TestSuites = append(jUnitOutput.TestSuites, getPolicySummaryTestSuite(formattedOutput))
 	jUnitOutput.TestSuites = append(jUnitOutput.TestSuites, getEvaluationSummaryTestSuite(formattedOutput))
@@ -65,29 +67,43 @@ func FormattedOutputToJUnitOutput(formattedOutput FormattedOutput) JUnitOutput {
 	return jUnitOutput
 }
 
-func getPolicyValidationResultTestSuite(policyValidationResult *FormattedEvaluationResults) testSuite {
+func getPolicyValidationResultTestSuite(policyValidationResult *FormattedEvaluationResults, rulesData []cliClient.RuleData) testSuite {
 	suite := testSuite{
 		Name:      policyValidationResult.FileName,
 		TestCases: []testCase{},
 	}
 
-	for _, ruleResult := range policyValidationResult.RuleResults {
+	for _, rule := range rulesData {
 		testCase := testCase{
-			Name:      ruleResult.Name,
-			ClassName: ruleResult.Identifier,
-		}
-		testCase.Failure = &failure{
-			Message: ruleResult.MessageOnFailure,
-			Content: getContentFromOccurrencesDetails(ruleResult.OccurrencesDetails),
+			Name:      rule.Name,
+			ClassName: rule.Identifier,
 		}
-		if areAllOccurrencesSkipped(ruleResult.OccurrencesDetails) {
-			testCase.Skipped = &skipped{Message: "All failing configs skipped"}
+		ruleResult := findRuleResult(rule, policyValidationResult.RuleResults)
+
+		if ruleResult != nil {
+			testCase.Failure = &failure{
+				Message: ruleResult.MessageOnFailure,
+				Content: getContentFromOccurrencesDetails(ruleResult.OccurrencesDetails),
+			}
+			if areAllOccurrencesSkipped(ruleResult.OccurrencesDetails) {
+				testCase.Skipped = &skipped{Message: "All failing configs skipped"}
+			}
 		}
 		suite.TestCases = append(suite.TestCases, testCase)
 	}
+
 	return suite
 }
 
+func findRuleResult(ruleData cliClient.RuleData, ruleResults []*RuleResult) *RuleResult {
+	for _, ruleResult := range ruleResults {
+		if ruleResult.Identifier == ruleData.Identifier {
+			return ruleResult
+		}
+	}
+	return nil
+}
+
 func getPolicySummaryTestSuite(formattedOutput FormattedOutput) testSuite {
 	return testSuite{
 		Name: "policySummary",
diff --git a/bl/evaluation/printer.go b/bl/evaluation/printer.go
index 6a64a13..dc063c0 100644
--- a/bl/evaluation/printer.go
+++ b/bl/evaluation/printer.go
@@ -10,6 +10,8 @@ import (
 	"sort"
 	"strings"
 
+	"github.com/datreeio/datree/pkg/cliClient"
+
 	"github.com/datreeio/datree/bl/validation"
 	"github.com/datreeio/datree/pkg/extractor"
 
@@ -25,6 +27,7 @@ type Printer interface {
 
 type PrintResultsData struct {
 	Results               FormattedResults
+	RulesData             []cliClient.RuleData
 	InvalidYamlFiles      []*extractor.InvalidFile
 	InvalidK8sFiles       []*extractor.InvalidFile
 	EvaluationSummary     printer.EvaluationSummary
@@ -78,7 +81,7 @@ func PrintResults(resultsData *PrintResultsData) error {
 		case "xml":
 			return xmlOutput(&formattedOutput)
 		case "JUnit":
-			return jUnitOutput(&formattedOutput)
+			return jUnitOutput(&formattedOutput, resultsData.RulesData)
 		default:
 			panic(errors.New("invalid output format"))
 		}
@@ -124,8 +127,8 @@ func xmlOutput(formattedOutput *FormattedOutput) error {
 	return printAsXml(formattedOutput)
 }
 
-func jUnitOutput(formattedOutput *FormattedOutput) error {
-	return printAsXml(FormattedOutputToJUnitOutput(*formattedOutput))
+func jUnitOutput(formattedOutput *FormattedOutput, rulesData []cliClient.RuleData) error {
+	return printAsXml(FormattedOutputToJUnitOutput(*formattedOutput, rulesData))
 }
 
 func printAsXml(output interface{}) error {


Test patch:
diff --git a/bl/evaluation/printer_test.go b/bl/evaluation/printer_test.go
index ceb4c1c..7579230 100644
--- a/bl/evaluation/printer_test.go
+++ b/bl/evaluation/printer_test.go
@@ -7,6 +7,9 @@ import (
 	"os"
 	"testing"
 
+	"github.com/datreeio/datree/pkg/cliClient"
+	"github.com/datreeio/datree/pkg/policy"
+
 	"github.com/datreeio/datree/bl/validation"
 	"github.com/datreeio/datree/pkg/extractor"
 
@@ -33,6 +36,7 @@ func (c *mockPrinter) PrintEvaluationSummary(summary printer.EvaluationSummary,
 
 type printResultsTestCaseArgs struct {
 	results           FormattedResults
+	rulesData         []cliClient.RuleData
 	invalidYamlFiles  []*extractor.InvalidFile
 	invalidK8sFiles   []*extractor.InvalidFile
 	evaluationSummary printer.EvaluationSummary
@@ -69,7 +73,7 @@ func TestPrintResults(t *testing.T) {
 		mockedPrinter.On("PrintEvaluationSummary", mock.Anything, mock.Anything)
 
 		t.Run(tt.name, func(t *testing.T) {
-			_ = PrintResults(&PrintResultsData{tt.args.results, tt.args.invalidYamlFiles, tt.args.invalidK8sFiles, tt.args.evaluationSummary, tt.args.loginURL, tt.args.outputFormat, mockedPrinter, "1.18.0", false, "Default", validation.K8sValidationWarningPerValidFile{}})
+			_ = PrintResults(&PrintResultsData{tt.args.results, tt.args.rulesData, tt.args.invalidYamlFiles, tt.args.invalidK8sFiles, tt.args.evaluationSummary, tt.args.loginURL, tt.args.outputFormat, mockedPrinter, "1.18.0", false, "Default", validation.K8sValidationWarningPerValidFile{}})
 
 			if tt.args.outputFormat == "json" {
 				mockedPrinter.AssertNotCalled(t, "PrintWarnings")
@@ -90,22 +94,23 @@ func TestPrintResults(t *testing.T) {
 
 func TestCustomOutputs(t *testing.T) {
 	formattedOutput := createFormattedOutput()
+	ruleData := createRulesData()
 	expectedOutputs := getExpectedOutputs()
 
-	jsonStdout := readOutput("json", formattedOutput)
+	jsonStdout := readOutput("json", formattedOutput, ruleData)
 	assert.Equal(t, expectedOutputs.json, jsonStdout)
 
-	yamlStdout := readOutput("yaml", formattedOutput)
+	yamlStdout := readOutput("yaml", formattedOutput, ruleData)
 	assert.Equal(t, expectedOutputs.yaml, yamlStdout)
 
-	xmlStdout := readOutput("xml", formattedOutput)
+	xmlStdout := readOutput("xml", formattedOutput, ruleData)
 	assert.Equal(t, expectedOutputs.xml, xmlStdout)
 
-	JUnitStdout := readOutput("JUnit", formattedOutput)
+	JUnitStdout := readOutput("JUnit", formattedOutput, ruleData)
 	assert.Equal(t, expectedOutputs.JUnit, JUnitStdout)
 }
 
-func readOutput(outputFormat string, formattedOutput FormattedOutput) string {
+func readOutput(outputFormat string, formattedOutput FormattedOutput, rulesData []cliClient.RuleData) string {
 	reader, writer, err := os.Pipe()
 	if err != nil {
 		panic(err)
@@ -129,7 +134,7 @@ func readOutput(outputFormat string, formattedOutput FormattedOutput) string {
 	case outputFormat == "xml":
 		xmlOutput(&formattedOutput)
 	case outputFormat == "JUnit":
-		err := jUnitOutput(&formattedOutput)
+		err := jUnitOutput(&formattedOutput, rulesData)
 		if err != nil {
 			panic("unexpected error in printer_test: " + err.Error())
 		}
@@ -139,6 +144,23 @@ func readOutput(outputFormat string, formattedOutput FormattedOutput) string {
 	return <-out
 }
 
+func createRulesData() []cliClient.RuleData {
+	dr, err := policy.GetDefaultRules()
+	if err != nil {
+		panic(err)
+	}
+	var result []cliClient.RuleData
+	for _, r := range dr.Rules {
+		if r.EnabledByDefault {
+			result = append(result, cliClient.RuleData{
+				Identifier: r.UniqueName,
+				Name:       r.Name,
+			})
+		}
+	}
+	return result
+}
+
 func createFormattedOutput() FormattedOutput {
 	evaluationResults := &NonInteractiveEvaluationResults{
 		PolicySummary: &PolicySummary{
@@ -246,6 +268,7 @@ func print_resultst(outputFormat string) *printResultsTestCase {
 					FormattedEvaluationResults: []*FormattedEvaluationResults{},
 				},
 			},
+			rulesData:         []cliClient.RuleData{},
 			invalidYamlFiles:  []*extractor.InvalidFile{},
 			invalidK8sFiles:   []*extractor.InvalidFile{},
 			evaluationSummary: printer.EvaluationSummary{},
diff --git a/bl/evaluation/printer_test_expected_outputs/JUnit_output.xml b/bl/evaluation/printer_test_expected_outputs/JUnit_output.xml
index 34b83ff..4c2345b 100755
--- a/bl/evaluation/printer_test_expected_outputs/JUnit_output.xml
+++ b/bl/evaluation/printer_test_expected_outputs/JUnit_output.xml
@@ -4,15 +4,32 @@
 		<testcase name="Ensure each container image has a pinned (tag) version" classname="CONTAINERS_MISSING_IMAGE_VALUE_VERSION">
 			<failure message="Incorrect value for key `image` - specify an image version to avoid unpleasant &#34;version surprises&#34; in the future">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
 		</testcase>
+		<testcase name="Ensure each container has a configured memory request" classname="CONTAINERS_MISSING_MEMORY_REQUEST_KEY"></testcase>
+		<testcase name="Ensure each container has a configured CPU request" classname="CONTAINERS_MISSING_CPU_REQUEST_KEY"></testcase>
 		<testcase name="Ensure each container has a configured memory limit" classname="CONTAINERS_MISSING_MEMORY_LIMIT_KEY">
 			<failure message="Missing property object `limits.memory` - value should be within the accepted boundaries recommended by the organization">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
 		</testcase>
+		<testcase name="Ensure each container has a configured CPU limit" classname="CONTAINERS_MISSING_CPU_LIMIT_KEY"></testcase>
+		<testcase name="Prevent Ingress from forwarding all traffic to a single container" classname="INGRESS_INCORRECT_HOST_VALUE_PERMISSIVE"></testcase>
+		<testcase name="Prevent Service from exposing node port" classname="SERVICE_INCORRECT_TYPE_VALUE_NODEPORT"></testcase>
+		<testcase name="Ensure CronJob scheduler is valid" classname="CRONJOB_INVALID_SCHEDULE_VALUE"></testcase>
 		<testcase name="Ensure workload has valid label values" classname="WORKLOAD_INVALID_LABELS_VALUE">
 			<failure message="Incorrect value for key(s) under `labels` - the vales syntax is not valid so the Kubernetes engine will not accept it">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
 		</testcase>
+		<testcase name="Ensure deployment-like resource is using a valid restart policy" classname="WORKLOAD_INCORRECT_RESTARTPOLICY_VALUE_ALWAYS"></testcase>
 		<testcase name="Ensure each container has a configured liveness probe" classname="CONTAINERS_MISSING_LIVENESSPROBE_KEY">
 			<failure message="Missing property object `livenessProbe` - add a properly configured livenessProbe to catch possible deadlocks">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
 		</testcase>
+		<testcase name="Ensure each container has a configured readiness probe" classname="CONTAINERS_MISSING_READINESSPROBE_KEY"></testcase>
+		<testcase name="Ensure HPA has minimum replicas configured" classname="HPA_MISSING_MINREPLICAS_KEY"></testcase>
+		<testcase name="Ensure HPA has maximum replicas configured" classname="HPA_MISSING_MAXREPLICAS_KEY"></testcase>
+		<testcase name="Prevent workload from using the default namespace" classname="WORKLOAD_INCORRECT_NAMESPACE_VALUE_DEFAULT"></testcase>
+		<testcase name="Ensure Deployment has more than one replica configured" classname="DEPLOYMENT_INCORRECT_REPLICAS_VALUE"></testcase>
+		<testcase name="Ensure CronJob has a configured deadline" classname="CRONJOB_MISSING_STARTINGDEADLINESECOND_KEY"></testcase>
+		<testcase name="Prevent deprecated APIs in Kubernetes v1.16" classname="K8S_DEPRECATED_APIVERSION_1.16"></testcase>
+		<testcase name="Prevent deprecated APIs in Kubernetes v1.17" classname="K8S_DEPRECATED_APIVERSION_1.17"></testcase>
+		<testcase name="Prevent containers from having root access capabilities" classname="CONTAINERS_INCORRECT_PRIVILEGED_VALUE_TRUE"></testcase>
+		<testcase name="Prevent CronJob from executing jobs concurrently" classname="CRONJOB_MISSING_CONCURRENCYPOLICY_KEY"></testcase>
 	</testsuite>
 	<testsuite name="policySummary">
 		<properties>
diff --git a/cmd/test/main.go b/cmd/test/main.go
index 1471686..56c6f56 100644
--- a/cmd/test/main.go
+++ b/cmd/test/main.go
@@ -357,6 +357,7 @@ func Test(ctx *TestCommandContext, paths []string, prerunData *TestCommandData)
 
 	err = evaluation.PrintResults(&evaluation.PrintResultsData{
 		Results:               results,
+		RulesData:             evaluationResultData.RulesData,
 		InvalidYamlFiles:      validationManager.InvalidYamlFiles(),
 		InvalidK8sFiles:       validationManager.InvalidK8sFiles(),
 		EvaluationSummary:     evaluationSummary,
@@ -398,6 +399,7 @@ type EvaluationResultData struct {
 	ValidationManager *ValidationManager
 	RulesCount        int
 	FormattedResults  evaluation.FormattedResults
+	RulesData         []cliClient.RuleData
 	PromptMessage     string
 }
 
@@ -447,7 +449,13 @@ func evaluate(ctx *TestCommandContext, filesPaths []string, prerunData *TestComm
 		Policy:              prerunData.Policy,
 	}
 
-	emptyEvaluationResultData := EvaluationResultData{nil, 0, evaluation.FormattedResults{}, ""}
+	emptyEvaluationResultData := EvaluationResultData{
+		ValidationManager: nil,
+		RulesCount:        0,
+		FormattedResults:  evaluation.FormattedResults{},
+		RulesData:         []cliClient.RuleData{},
+		PromptMessage:     "",
+	}
 
 	policyCheckResultData, err := ctx.Evaluator.Evaluate(policyCheckData)
 	if err != nil {
@@ -459,6 +467,7 @@ func evaluate(ctx *TestCommandContext, filesPaths []string, prerunData *TestComm
 			ValidationManager: validationManager,
 			RulesCount:        policyCheckResultData.RulesCount,
 			FormattedResults:  policyCheckResultData.FormattedResults,
+			RulesData:         policyCheckResultData.RulesData,
 			PromptMessage:     "",
 		}, nil
 	}
@@ -502,6 +511,7 @@ func evaluate(ctx *TestCommandContext, filesPaths []string, prerunData *TestComm
 		ValidationManager: validationManager,
 		RulesCount:        policyCheckResultData.RulesCount,
 		FormattedResults:  policyCheckResultData.FormattedResults,
+		RulesData:         policyCheckResultData.RulesData,
 		PromptMessage:     sendEvaluationResultsResponse.PromptMessage,
 	}
 
diff --git a/internal/fixtures/junit_support/datree_test_junit.xml b/internal/fixtures/junit_support/datree_test_junit.xml
index c299e18..c4c64d1 100644
--- a/internal/fixtures/junit_support/datree_test_junit.xml
+++ b/internal/fixtures/junit_support/datree_test_junit.xml
@@ -1,33 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <testsuites name="Default" tests="34" failures="4" skipped="2">
 	<testsuite name="/Users/royhadad/Desktop/datree-repos/datree/internal/fixtures/kube/skipRule/k8s-demo-skip-two.yaml">
-		<testcase name="Ensure each container has a configured liveness probe" classname="CONTAINERS_MISSING_LIVENESSPROBE_KEY">
-			<skipped message="All failing configs skipped"></skipped>
-			<failure message="Missing property object `livenessProbe` - add a properly configured livenessProbe to catch possible deadlocks">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;1 skipped&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;</failure>
-		</testcase>
-		<testcase name="Ensure Deployment has a configured `env` label" classname="DEPLOYMENT_MISSING_LABEL_ENV_VALUE">
-			<failure message="Missing label object `env` - add a proper environment description (e.g. &#34;prod&#34;, &#34;testing&#34;, etc.) to the Deployment config">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
-		</testcase>
-		<testcase name="Ensure each container image has a digest tag" classname="CONTAINERS_MISSING_IMAGE_VALUE_DIGEST">
-			<failure message="Incorrect value for key `image` - add a digest tag (starts with `@sha256:`) to represent an immutable version of the image">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
-		</testcase>
+		<testcase name="Allows pods to undergo least voluntary disruption" classname="PODDISRUPTIONBUDGET_DENY_ZERO_VOLUNTARY_DISRUPTION"></testcase>
+		<testcase name="Prevent container security vulnerability (CVE-2021-25741)" classname="CONTAINER_CVE2021_25741_INCORRECT_SUBPATH_KEY"></testcase>
 		<testcase name="Ensure each container image has a pinned (tag) version" classname="CONTAINERS_MISSING_IMAGE_VALUE_VERSION">
 			<failure message="Incorrect value for key `image` - specify an image version to avoid unpleasant &#34;version surprises&#34; in the future">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
 		</testcase>
+		<testcase name="Ensure each container has a configured memory request" classname="CONTAINERS_MISSING_MEMORY_REQUEST_KEY"></testcase>
+		<testcase name="Ensure each container has a configured CPU request" classname="CONTAINERS_MISSING_CPU_REQUEST_KEY"></testcase>
 		<testcase name="Ensure each container has a configured memory limit" classname="CONTAINERS_MISSING_MEMORY_LIMIT_KEY">
 			<failure message="Missing property object `limits.memory` - value should be within the accepted boundaries recommended by the organization">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
 		</testcase>
+		<testcase name="Ensure each container has a configured CPU limit" classname="CONTAINERS_MISSING_CPU_LIMIT_KEY"></testcase>
+		<testcase name="Prevent Ingress from forwarding all traffic to a single container" classname="INGRESS_INCORRECT_HOST_VALUE_PERMISSIVE"></testcase>
+		<testcase name="Prevent Service from exposing node port" classname="SERVICE_INCORRECT_TYPE_VALUE_NODEPORT"></testcase>
+		<testcase name="Ensure CronJob scheduler is valid" classname="CRONJOB_INVALID_SCHEDULE_VALUE"></testcase>
 		<testcase name="Ensure workload has valid label values" classname="WORKLOAD_INVALID_LABELS_VALUE">
 			<skipped message="All failing configs skipped"></skipped>
 			<failure message="Incorrect value for key(s) under `labels` - the vales syntax is not valid so the Kubernetes engine will not accept it">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;1 skipped&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;</failure>
 		</testcase>
+		<testcase name="Ensure deployment-like resource is using a valid restart policy" classname="WORKLOAD_INCORRECT_RESTARTPOLICY_VALUE_ALWAYS"></testcase>
+		<testcase name="Ensure each container has a configured liveness probe" classname="CONTAINERS_MISSING_LIVENESSPROBE_KEY">
+			<skipped message="All failing configs skipped"></skipped>
+			<failure message="Missing property object `livenessProbe` - add a properly configured livenessProbe to catch possible deadlocks">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;1 skipped&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;</failure>
+		</testcase>
+		<testcase name="Ensure each container has a configured readiness probe" classname="CONTAINERS_MISSING_READINESSPROBE_KEY"></testcase>
+		<testcase name="Ensure HPA has minimum replicas configured" classname="HPA_MISSING_MINREPLICAS_KEY"></testcase>
+		<testcase name="Ensure HPA has maximum replicas configured" classname="HPA_MISSING_MAXREPLICAS_KEY"></testcase>
+		<testcase name="Prevent workload from using the default namespace" classname="WORKLOAD_INCORRECT_NAMESPACE_VALUE_DEFAULT"></testcase>
+		<testcase name="Ensure Deployment has more than one replica configured" classname="DEPLOYMENT_INCORRECT_REPLICAS_VALUE"></testcase>
+		<testcase name="Ensure CronJob has a configured deadline" classname="CRONJOB_MISSING_STARTINGDEADLINESECOND_KEY"></testcase>
+		<testcase name="Prevent deprecated APIs in Kubernetes v1.16" classname="K8S_DEPRECATED_APIVERSION_1.16"></testcase>
+		<testcase name="Prevent deprecated APIs in Kubernetes v1.17" classname="K8S_DEPRECATED_APIVERSION_1.17"></testcase>
+		<testcase name="Prevent containers from having root access capabilities" classname="CONTAINERS_INCORRECT_PRIVILEGED_VALUE_TRUE"></testcase>
+		<testcase name="Ensure workload has a configured `owner` label" classname="WORKLOAD_MISSING_LABEL_OWNER_VALUE"></testcase>
+		<testcase name="Ensure Deployment has a configured `env` label" classname="DEPLOYMENT_MISSING_LABEL_ENV_VALUE">
+			<failure message="Missing label object `env` - add a proper environment description (e.g. &#34;prod&#34;, &#34;testing&#34;, etc.) to the Deployment config">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
+		</testcase>
+		<testcase name="Ensure each container image has a digest tag" classname="CONTAINERS_MISSING_IMAGE_VALUE_DIGEST">
+			<failure message="Incorrect value for key `image` - add a digest tag (starts with `@sha256:`) to represent an immutable version of the image">1 occurrences&#xA;— metadata.name: rss-site (kind: Deployment)&#xA;0 skipped&#xA;</failure>
+		</testcase>
+		<testcase name="Prevent CronJob from executing jobs concurrently" classname="CRONJOB_MISSING_CONCURRENCYPOLICY_KEY"></testcase>
+		<testcase name="Prevent deploying naked pods" classname="K8S_INCORRECT_KIND_VALUE_POD"></testcase>
+		<testcase name="Prevent containers from sharing the host&#39;s PID namespace" classname="CONTAINERS_INCORRECT_HOSTPID_VALUE_TRUE"></testcase>
+		<testcase name="Prevent containers from sharing the host`s IPC namespace" classname="CONTAINERS_INCORRECT_HOSTIPC_VALUE_TRUE"></testcase>
+		<testcase name="Prevent containers from sharing the host&#39;s network namespace" classname="CONTAINERS_INCORRECT_HOSTNETWORK_VALUE_TRUE"></testcase>
+		<testcase name="Prevent containers from accessing host files by using high UIDs" classname="CONTAINERS_INCORRECT_RUNASUSER_VALUE_LOWUID"></testcase>
+		<testcase name="Prevent containers from mounting Docker socket" classname="CONTAINERS_INCORRECT_PATH_VALUE_DOCKERSOCKET"></testcase>
+		<testcase name="Prevent Ingress security vulnerability (CVE-2021-25742)" classname="INGRESS_CVE2021_25742_INCORRECT_SERVER_SNIPPET_KEY"></testcase>
+		<testcase name="Deny invalid domain names in ingress hosts" classname="INGRESS_INCORRECT_DOMAIN_NAME"></testcase>
 	</testsuite>
 	<testsuite name="policySummary">
 		<properties>
 			<property name="policyName" value="Default"></property>
 			<property name="totalRulesInPolicy" value="34"></property>
-			<property name="totalRulesFailed" value="4"></property>
 			<property name="totalSkippedRules" value="2"></property>
+			<property name="totalRulesFailed" value="4"></property>
 			<property name="totalPassedCount" value="28"></property>
 		</properties>
 	</testsuite>
diff --git a/internal/fixtures/junit_support/datree_test_junit_report.html b/internal/fixtures/junit_support/datree_test_junit_report.html
index 5f1ff22..97fdb35 100644
--- a/internal/fixtures/junit_support/datree_test_junit_report.html
+++ b/internal/fixtures/junit_support/datree_test_junit_report.html
@@ -193,10 +193,186 @@ h1 {
             <ul class="toc">
             
                 
+                <li>PODDISRUPTIONBUDGET_DENY_ZERO_VOLUNTARY_DISRUPTION
+                <ul>
+                    
+                    <li><a href="#fec92873-0e82-45fa-8d2d-b4d662b28c04">Allows pods to undergo least voluntary disruption</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINER_CVE2021_25741_INCORRECT_SUBPATH_KEY
+                <ul>
+                    
+                    <li><a href="#923b7918-2511-4886-9327-1f53bff71c99">Prevent container security vulnerability (CVE-2021-25741)</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_MISSING_IMAGE_VALUE_VERSION
+                <ul>
+                    
+                    <li><a href="#296f839f-90da-4f55-bf94-dd063077f8f8">Ensure each container image has a pinned (tag) version</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_MISSING_MEMORY_REQUEST_KEY
+                <ul>
+                    
+                    <li><a href="#cc6a4a08-4374-467f-9df6-266cf44de77d">Ensure each container has a configured memory request</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_MISSING_CPU_REQUEST_KEY
+                <ul>
+                    
+                    <li><a href="#2f2079d1-7146-4713-aae4-ff838ef83cf3">Ensure each container has a configured CPU request</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_MISSING_MEMORY_LIMIT_KEY
+                <ul>
+                    
+                    <li><a href="#4ca968f7-45ad-4eab-8aa8-0d19d9ced1d0">Ensure each container has a configured memory limit</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_MISSING_CPU_LIMIT_KEY
+                <ul>
+                    
+                    <li><a href="#ae70a6d5-ba7b-44e2-945b-bb4a57a2eb5a">Ensure each container has a configured CPU limit</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>INGRESS_INCORRECT_HOST_VALUE_PERMISSIVE
+                <ul>
+                    
+                    <li><a href="#a2124e1f-fa3d-47ec-8286-08d623dee9b8">Prevent Ingress from forwarding all traffic to a single container</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>SERVICE_INCORRECT_TYPE_VALUE_NODEPORT
+                <ul>
+                    
+                    <li><a href="#189447b6-7a0a-48ec-be22-2f271d25bdad">Prevent Service from exposing node port</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CRONJOB_INVALID_SCHEDULE_VALUE
+                <ul>
+                    
+                    <li><a href="#a5c57e55-e0d0-43f8-a8f7-b8a844b23059">Ensure CronJob scheduler is valid</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>WORKLOAD_INVALID_LABELS_VALUE
+                <ul>
+                    
+                    <li><a href="#a089ae2f-3f9d-4476-a90c-0f156550a446">Ensure workload has valid label values</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>WORKLOAD_INCORRECT_RESTARTPOLICY_VALUE_ALWAYS
+                <ul>
+                    
+                    <li><a href="#694de7c6-cd86-4896-85ff-5489f8f518a7">Ensure deployment-like resource is using a valid restart policy</a></li>
+                    
+                </ul>
+                </li>
+                
                 <li>CONTAINERS_MISSING_LIVENESSPROBE_KEY
                 <ul>
                     
-                    <li><a href="#94a04a1d-7c9d-4273-ac68-5de011a4b750">Ensure each container has a configured liveness probe</a></li>
+                    <li><a href="#25dd3dca-3f95-40b8-af62-82c45322c9b2">Ensure each container has a configured liveness probe</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_MISSING_READINESSPROBE_KEY
+                <ul>
+                    
+                    <li><a href="#8cd5e8e5-960f-4432-9773-dd138d6e4dd2">Ensure each container has a configured readiness probe</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>HPA_MISSING_MINREPLICAS_KEY
+                <ul>
+                    
+                    <li><a href="#76c17c44-72c2-4f60-9c8f-204b11b47cb7">Ensure HPA has minimum replicas configured</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>HPA_MISSING_MAXREPLICAS_KEY
+                <ul>
+                    
+                    <li><a href="#b1b97657-4383-45ea-93e9-9084e6dea1c7">Ensure HPA has maximum replicas configured</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>WORKLOAD_INCORRECT_NAMESPACE_VALUE_DEFAULT
+                <ul>
+                    
+                    <li><a href="#008e851f-7cfc-45bf-8421-0d7474f05471">Prevent workload from using the default namespace</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>DEPLOYMENT_INCORRECT_REPLICAS_VALUE
+                <ul>
+                    
+                    <li><a href="#f2ce0199-7a20-4c07-903c-75adb88aaa15">Ensure Deployment has more than one replica configured</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CRONJOB_MISSING_STARTINGDEADLINESECOND_KEY
+                <ul>
+                    
+                    <li><a href="#6ff504ee-f139-4392-a2a0-c8100c3cb9ab">Ensure CronJob has a configured deadline</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>K8S_DEPRECATED_APIVERSION_1.16
+                <ul>
+                    
+                    <li><a href="#86cb899d-27b7-4144-825b-b409c72921fc">Prevent deprecated APIs in Kubernetes v1.16</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>K8S_DEPRECATED_APIVERSION_1.17
+                <ul>
+                    
+                    <li><a href="#703a84b2-4ad9-4c20-9604-b361f4167c77">Prevent deprecated APIs in Kubernetes v1.17</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_INCORRECT_PRIVILEGED_VALUE_TRUE
+                <ul>
+                    
+                    <li><a href="#cc00d51f-201d-431f-bdd2-8d1503b43cc3">Prevent containers from having root access capabilities</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>WORKLOAD_MISSING_LABEL_OWNER_VALUE
+                <ul>
+                    
+                    <li><a href="#bb4d3654-216b-44e9-9d17-96cc9a3fedbd">Ensure workload has a configured `owner` label</a></li>
                     
                 </ul>
                 </li>
@@ -204,7 +380,7 @@ h1 {
                 <li>DEPLOYMENT_MISSING_LABEL_ENV_VALUE
                 <ul>
                     
-                    <li><a href="#f020bdde-b8d5-4447-8c6f-9e22d98f8a9a">Ensure Deployment has a configured `env` label</a></li>
+                    <li><a href="#ca7101ec-48c9-4aac-a86e-accfeeec374d">Ensure Deployment has a configured `env` label</a></li>
                     
                 </ul>
                 </li>
@@ -212,31 +388,79 @@ h1 {
                 <li>CONTAINERS_MISSING_IMAGE_VALUE_DIGEST
                 <ul>
                     
-                    <li><a href="#c91cb8fd-a6e5-412b-b61f-71fa3894a4d2">Ensure each container image has a digest tag</a></li>
+                    <li><a href="#3e9dd640-c348-43b0-89b0-80182e585b62">Ensure each container image has a digest tag</a></li>
                     
                 </ul>
                 </li>
                 
-                <li>CONTAINERS_MISSING_IMAGE_VALUE_VERSION
+                <li>CRONJOB_MISSING_CONCURRENCYPOLICY_KEY
                 <ul>
                     
-                    <li><a href="#6c2bf068-fcef-492a-8b74-cce9eecc0e9f">Ensure each container image has a pinned (tag) version</a></li>
+                    <li><a href="#7629bb50-6fcf-434d-b306-86416c96dafd">Prevent CronJob from executing jobs concurrently</a></li>
                     
                 </ul>
                 </li>
                 
-                <li>CONTAINERS_MISSING_MEMORY_LIMIT_KEY
+                <li>K8S_INCORRECT_KIND_VALUE_POD
                 <ul>
                     
-                    <li><a href="#fb689b13-2f8c-404a-8516-cac4aeeb18f4">Ensure each container has a configured memory limit</a></li>
+                    <li><a href="#51ee61c1-d488-49d2-9972-7c102bd5aa89">Prevent deploying naked pods</a></li>
                     
                 </ul>
                 </li>
                 
-                <li>WORKLOAD_INVALID_LABELS_VALUE
+                <li>CONTAINERS_INCORRECT_HOSTPID_VALUE_TRUE
+                <ul>
+                    
+                    <li><a href="#84406aa5-dd9b-4128-9ea7-2284522f2669">Prevent containers from sharing the host&#39;s PID namespace</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_INCORRECT_HOSTIPC_VALUE_TRUE
+                <ul>
+                    
+                    <li><a href="#49f1606f-232d-4ba7-a0fb-6339b81c9f40">Prevent containers from sharing the host`s IPC namespace</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_INCORRECT_HOSTNETWORK_VALUE_TRUE
+                <ul>
+                    
+                    <li><a href="#db3b5654-a779-4fa9-a889-1da55761f7ee">Prevent containers from sharing the host&#39;s network namespace</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_INCORRECT_RUNASUSER_VALUE_LOWUID
+                <ul>
+                    
+                    <li><a href="#f889e5d5-7666-4c51-a199-ba1c20afe158">Prevent containers from accessing host files by using high UIDs</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>CONTAINERS_INCORRECT_PATH_VALUE_DOCKERSOCKET
+                <ul>
+                    
+                    <li><a href="#1619fd42-2dd3-4c6f-bb5f-e5f9225933b7">Prevent containers from mounting Docker socket</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>INGRESS_CVE2021_25742_INCORRECT_SERVER_SNIPPET_KEY
                 <ul>
                     
-                    <li><a href="#252f0584-5ecf-4145-b453-b46a11ad7866">Ensure workload has valid label values</a></li>
+                    <li><a href="#669da393-81e2-4e8f-b271-c4151191ac5b">Prevent Ingress security vulnerability (CVE-2021-25742)</a></li>
+                    
+                </ul>
+                </li>
+                
+                <li>INGRESS_INCORRECT_DOMAIN_NAME
+                <ul>
+                    
+                    <li><a href="#bcebd71d-ae99-4169-8aad-6a44b37365f3">Deny invalid domain names in ingress hosts</a></li>
                     
                 </ul>
                 </li>
@@ -254,99 +478,863 @@ h1 {
                 
                     
                     
-                    <li><a href="#94a04a1d-7c9d-4273-ac68-5de011a4b750">[S] CONTAINERS_MISSING_LIVENESSPROBE_KEY : Ensure each container has a configured liveness probe</a></li>
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    <li><a href="#296f839f-90da-4f55-bf94-dd063077f8f8">[F] CONTAINERS_MISSING_IMAGE_VALUE_VERSION : Ensure each container image has a pinned (tag) version</a></li>
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    <li><a href="#4ca968f7-45ad-4eab-8aa8-0d19d9ced1d0">[F] CONTAINERS_MISSING_MEMORY_LIMIT_KEY : Ensure each container has a configured memory limit</a></li>
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    <li><a href="#a089ae2f-3f9d-4476-a90c-0f156550a446">[S] WORKLOAD_INVALID_LABELS_VALUE : Ensure workload has valid label values</a></li>
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    <li><a href="#25dd3dca-3f95-40b8-af62-82c45322c9b2">[S] CONTAINERS_MISSING_LIVENESSPROBE_KEY : Ensure each container has a configured liveness probe</a></li>
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
                     
                     
                 
                     
                     
-                    <li><a href="#f020bdde-b8d5-4447-8c6f-9e22d98f8a9a">[F] DEPLOYMENT_MISSING_LABEL_ENV_VALUE : Ensure Deployment has a configured `env` label</a></li>
+                    
+                
+                    
                     
                     
                 
                     
                     
-                    <li><a href="#c91cb8fd-a6e5-412b-b61f-71fa3894a4d2">[F] CONTAINERS_MISSING_IMAGE_VALUE_DIGEST : Ensure each container image has a digest tag</a></li>
+                    
+                
+                    
                     
                     
                 
                     
                     
-                    <li><a href="#6c2bf068-fcef-492a-8b74-cce9eecc0e9f">[F] CONTAINERS_MISSING_IMAGE_VALUE_VERSION : Ensure each container image has a pinned (tag) version</a></li>
+                    <li><a href="#ca7101ec-48c9-4aac-a86e-accfeeec374d">[F] DEPLOYMENT_MISSING_LABEL_ENV_VALUE : Ensure Deployment has a configured `env` label</a></li>
                     
                     
                 
                     
                     
-                    <li><a href="#fb689b13-2f8c-404a-8516-cac4aeeb18f4">[F] CONTAINERS_MISSING_MEMORY_LIMIT_KEY : Ensure each container has a configured memory limit</a></li>
+                    <li><a href="#3e9dd640-c348-43b0-89b0-80182e585b62">[F] CONTAINERS_MISSING_IMAGE_VALUE_DIGEST : Ensure each container image has a digest tag</a></li>
                     
                     
                 
                     
                     
-                    <li><a href="#252f0584-5ecf-4145-b453-b46a11ad7866">[S] WORKLOAD_INVALID_LABELS_VALUE : Ensure workload has valid label values</a></li>
                     
+                
                     
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+                    
+                    
+                    
+                
+            
+                
+            
+                
+            
+            </ul>
+        </td>
+    </tr>
+</table>
+
+
+    <div class="testsuite">
+        <h2>Test Suite: /Users/royhadad/Desktop/datree-repos/datree/internal/fixtures/kube/skipRule/k8s-demo-skip-two.yaml</h2>
+        <a id="a10d958a-86a1-49da-a881-c59794f38803"></a>
+        
+        
+        <h3>Results</h3>
+        <table class="proplist">
+            <tr>
+                <th>Duration</th><td>0.0 sec</td>
+            </tr>
+            <tr>
+                <th>Tests</th><td>34</td>
+            </tr>
+            <tr>
+                <th>Failures</th><td>6</td>
+            </tr>
+        </table>
+
+        <div class="testclasses">
+            <h3>Tests</h3>
+            
+            <div class="testclass">
+                <h4>PODDISRUPTIONBUDGET_DENY_ZERO_VOLUNTARY_DISRUPTION</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="fec92873-0e82-45fa-8d2d-b4d662b28c04"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Allows pods to undergo least voluntary disruption</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINER_CVE2021_25741_INCORRECT_SUBPATH_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="923b7918-2511-4886-9327-1f53bff71c99"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent container security vulnerability (CVE-2021-25741)</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_MISSING_IMAGE_VALUE_VERSION</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-failed">
+                        <a id="296f839f-90da-4f55-bf94-dd063077f8f8"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure each container image has a pinned (tag) version</b></td></tr>
+                            <tr><th>Outcome:</th><td>Failed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>Incorrect value for key `image` - specify an image version to avoid unpleasant &#34;version surprises&#34; in the future</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>1 occurrences
+— metadata.name: rss-site (kind: Deployment)
+0 skipped
+</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_MISSING_MEMORY_REQUEST_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="cc6a4a08-4374-467f-9df6-266cf44de77d"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure each container has a configured memory request</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_MISSING_CPU_REQUEST_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="2f2079d1-7146-4713-aae4-ff838ef83cf3"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure each container has a configured CPU request</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_MISSING_MEMORY_LIMIT_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-failed">
+                        <a id="4ca968f7-45ad-4eab-8aa8-0d19d9ced1d0"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure each container has a configured memory limit</b></td></tr>
+                            <tr><th>Outcome:</th><td>Failed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>Missing property object `limits.memory` - value should be within the accepted boundaries recommended by the organization</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>1 occurrences
+— metadata.name: rss-site (kind: Deployment)
+0 skipped
+</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_MISSING_CPU_LIMIT_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="ae70a6d5-ba7b-44e2-945b-bb4a57a2eb5a"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure each container has a configured CPU limit</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>INGRESS_INCORRECT_HOST_VALUE_PERMISSIVE</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="a2124e1f-fa3d-47ec-8286-08d623dee9b8"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent Ingress from forwarding all traffic to a single container</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>SERVICE_INCORRECT_TYPE_VALUE_NODEPORT</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="189447b6-7a0a-48ec-be22-2f271d25bdad"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent Service from exposing node port</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CRONJOB_INVALID_SCHEDULE_VALUE</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="a5c57e55-e0d0-43f8-a8f7-b8a844b23059"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure CronJob scheduler is valid</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>WORKLOAD_INVALID_LABELS_VALUE</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-skipped">
+                        <a id="a089ae2f-3f9d-4476-a90c-0f156550a446"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure workload has valid label values</b></td></tr>
+                            <tr><th>Outcome:</th><td>Skipped</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>Incorrect value for key(s) under `labels` - the vales syntax is not valid so the Kubernetes engine will not accept it</td></tr>
+                        
+                        
+                            <tr><th>Skipped</th><td>All failing configs skipped</td></tr>
+                        
+                        </table>
+
+                        
+                        <pre>1 occurrences
+— metadata.name: rss-site (kind: Deployment)
+1 skipped
+— metadata.name: rss-site (kind: Deployment)
+</pre>
+                        
+                        
+                        <pre>skipped</pre>
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>WORKLOAD_INCORRECT_RESTARTPOLICY_VALUE_ALWAYS</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="694de7c6-cd86-4896-85ff-5489f8f518a7"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure deployment-like resource is using a valid restart policy</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_MISSING_LIVENESSPROBE_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-skipped">
+                        <a id="25dd3dca-3f95-40b8-af62-82c45322c9b2"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure each container has a configured liveness probe</b></td></tr>
+                            <tr><th>Outcome:</th><td>Skipped</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>Missing property object `livenessProbe` - add a properly configured livenessProbe to catch possible deadlocks</td></tr>
+                        
+                        
+                            <tr><th>Skipped</th><td>All failing configs skipped</td></tr>
+                        
+                        </table>
+
+                        
+                        <pre>1 occurrences
+— metadata.name: rss-site (kind: Deployment)
+1 skipped
+— metadata.name: rss-site (kind: Deployment)
+</pre>
+                        
+                        
+                        <pre>skipped</pre>
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_MISSING_READINESSPROBE_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="8cd5e8e5-960f-4432-9773-dd138d6e4dd2"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure each container has a configured readiness probe</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>HPA_MISSING_MINREPLICAS_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="76c17c44-72c2-4f60-9c8f-204b11b47cb7"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure HPA has minimum replicas configured</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>HPA_MISSING_MAXREPLICAS_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="b1b97657-4383-45ea-93e9-9084e6dea1c7"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure HPA has maximum replicas configured</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>WORKLOAD_INCORRECT_NAMESPACE_VALUE_DEFAULT</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="008e851f-7cfc-45bf-8421-0d7474f05471"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent workload from using the default namespace</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>DEPLOYMENT_INCORRECT_REPLICAS_VALUE</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="f2ce0199-7a20-4c07-903c-75adb88aaa15"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure Deployment has more than one replica configured</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CRONJOB_MISSING_STARTINGDEADLINESECOND_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="6ff504ee-f139-4392-a2a0-c8100c3cb9ab"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Ensure CronJob has a configured deadline</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>K8S_DEPRECATED_APIVERSION_1.16</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="86cb899d-27b7-4144-825b-b409c72921fc"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent deprecated APIs in Kubernetes v1.16</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
                 
+                </div>
+            </div>
             
+            <div class="testclass">
+                <h4>K8S_DEPRECATED_APIVERSION_1.17</h4>
+                <div class="testcases">
                 
-            
+                    <div class="test outcome outcome-passed">
+                        <a id="703a84b2-4ad9-4c20-9604-b361f4167c77"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent deprecated APIs in Kubernetes v1.17</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
                 
+                </div>
+            </div>
             
-            </ul>
-        </td>
-    </tr>
-</table>
-
+            <div class="testclass">
+                <h4>CONTAINERS_INCORRECT_PRIVILEGED_VALUE_TRUE</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="cc00d51f-201d-431f-bdd2-8d1503b43cc3"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent containers from having root access capabilities</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
 
-    <div class="testsuite">
-        <h2>Test Suite: /Users/royhadad/Desktop/datree-repos/datree/internal/fixtures/kube/skipRule/k8s-demo-skip-two.yaml</h2>
-        <a id="8111810a-1f4e-470a-9c3c-c66885370039"></a>
-        
-        
-        <h3>Results</h3>
-        <table class="proplist">
-            <tr>
-                <th>Duration</th><td>0.0 sec</td>
-            </tr>
-            <tr>
-                <th>Tests</th><td>6</td>
-            </tr>
-            <tr>
-                <th>Failures</th><td>6</td>
-            </tr>
-        </table>
+                        
+                        <pre>None</pre>
+                        
+                        
 
-        <div class="testclasses">
-            <h3>Tests</h3>
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
             
             <div class="testclass">
-                <h4>CONTAINERS_MISSING_LIVENESSPROBE_KEY</h4>
+                <h4>WORKLOAD_MISSING_LABEL_OWNER_VALUE</h4>
                 <div class="testcases">
                 
-                    <div class="test outcome outcome-skipped">
-                        <a id="94a04a1d-7c9d-4273-ac68-5de011a4b750"></a>
+                    <div class="test outcome outcome-passed">
+                        <a id="bb4d3654-216b-44e9-9d17-96cc9a3fedbd"></a>
                         <table class="proplist">
-                            <tr><th>Test case:</th><td><b>Ensure each container has a configured liveness probe</b></td></tr>
-                            <tr><th>Outcome:</th><td>Skipped</td></tr>
+                            <tr><th>Test case:</th><td><b>Ensure workload has a configured `owner` label</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
                             <tr><th>Duration:</th><td>0.0 sec</td></tr>
                         
-                            <tr><th>Failed</th><td>Missing property object `livenessProbe` - add a properly configured livenessProbe to catch possible deadlocks</td></tr>
-                        
+                            <tr><th>Failed</th><td>None</td></tr>
                         
-                            <tr><th>Skipped</th><td>All failing configs skipped</td></tr>
                         
                         </table>
 
                         
-                        <pre>1 occurrences
-— metadata.name: rss-site (kind: Deployment)
-1 skipped
-— metadata.name: rss-site (kind: Deployment)
-</pre>
-                        
+                        <pre>None</pre>
                         
-                        <pre>skipped</pre>
                         
 
                         
@@ -362,7 +1350,7 @@ h1 {
                 <div class="testcases">
                 
                     <div class="test outcome outcome-failed">
-                        <a id="f020bdde-b8d5-4447-8c6f-9e22d98f8a9a"></a>
+                        <a id="ca7101ec-48c9-4aac-a86e-accfeeec374d"></a>
                         <table class="proplist">
                             <tr><th>Test case:</th><td><b>Ensure Deployment has a configured `env` label</b></td></tr>
                             <tr><th>Outcome:</th><td>Failed</td></tr>
@@ -394,7 +1382,7 @@ h1 {
                 <div class="testcases">
                 
                     <div class="test outcome outcome-failed">
-                        <a id="c91cb8fd-a6e5-412b-b61f-71fa3894a4d2"></a>
+                        <a id="3e9dd640-c348-43b0-89b0-80182e585b62"></a>
                         <table class="proplist">
                             <tr><th>Test case:</th><td><b>Ensure each container image has a digest tag</b></td></tr>
                             <tr><th>Outcome:</th><td>Failed</td></tr>
@@ -422,26 +1410,23 @@ h1 {
             </div>
             
             <div class="testclass">
-                <h4>CONTAINERS_MISSING_IMAGE_VALUE_VERSION</h4>
+                <h4>CRONJOB_MISSING_CONCURRENCYPOLICY_KEY</h4>
                 <div class="testcases">
                 
-                    <div class="test outcome outcome-failed">
-                        <a id="6c2bf068-fcef-492a-8b74-cce9eecc0e9f"></a>
+                    <div class="test outcome outcome-passed">
+                        <a id="7629bb50-6fcf-434d-b306-86416c96dafd"></a>
                         <table class="proplist">
-                            <tr><th>Test case:</th><td><b>Ensure each container image has a pinned (tag) version</b></td></tr>
-                            <tr><th>Outcome:</th><td>Failed</td></tr>
+                            <tr><th>Test case:</th><td><b>Prevent CronJob from executing jobs concurrently</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
                             <tr><th>Duration:</th><td>0.0 sec</td></tr>
                         
-                            <tr><th>Failed</th><td>Incorrect value for key `image` - specify an image version to avoid unpleasant &#34;version surprises&#34; in the future</td></tr>
+                            <tr><th>Failed</th><td>None</td></tr>
                         
                         
                         </table>
 
                         
-                        <pre>1 occurrences
-— metadata.name: rss-site (kind: Deployment)
-0 skipped
-</pre>
+                        <pre>None</pre>
                         
                         
 
@@ -454,26 +1439,23 @@ h1 {
             </div>
             
             <div class="testclass">
-                <h4>CONTAINERS_MISSING_MEMORY_LIMIT_KEY</h4>
+                <h4>K8S_INCORRECT_KIND_VALUE_POD</h4>
                 <div class="testcases">
                 
-                    <div class="test outcome outcome-failed">
-                        <a id="fb689b13-2f8c-404a-8516-cac4aeeb18f4"></a>
+                    <div class="test outcome outcome-passed">
+                        <a id="51ee61c1-d488-49d2-9972-7c102bd5aa89"></a>
                         <table class="proplist">
-                            <tr><th>Test case:</th><td><b>Ensure each container has a configured memory limit</b></td></tr>
-                            <tr><th>Outcome:</th><td>Failed</td></tr>
+                            <tr><th>Test case:</th><td><b>Prevent deploying naked pods</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
                             <tr><th>Duration:</th><td>0.0 sec</td></tr>
                         
-                            <tr><th>Failed</th><td>Missing property object `limits.memory` - value should be within the accepted boundaries recommended by the organization</td></tr>
+                            <tr><th>Failed</th><td>None</td></tr>
                         
                         
                         </table>
 
                         
-                        <pre>1 occurrences
-— metadata.name: rss-site (kind: Deployment)
-0 skipped
-</pre>
+                        <pre>None</pre>
                         
                         
 
@@ -486,32 +1468,198 @@ h1 {
             </div>
             
             <div class="testclass">
-                <h4>WORKLOAD_INVALID_LABELS_VALUE</h4>
+                <h4>CONTAINERS_INCORRECT_HOSTPID_VALUE_TRUE</h4>
                 <div class="testcases">
                 
-                    <div class="test outcome outcome-skipped">
-                        <a id="252f0584-5ecf-4145-b453-b46a11ad7866"></a>
+                    <div class="test outcome outcome-passed">
+                        <a id="84406aa5-dd9b-4128-9ea7-2284522f2669"></a>
                         <table class="proplist">
-                            <tr><th>Test case:</th><td><b>Ensure workload has valid label values</b></td></tr>
-                            <tr><th>Outcome:</th><td>Skipped</td></tr>
+                            <tr><th>Test case:</th><td><b>Prevent containers from sharing the host&#39;s PID namespace</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
                             <tr><th>Duration:</th><td>0.0 sec</td></tr>
                         
-                            <tr><th>Failed</th><td>Incorrect value for key(s) under `labels` - the vales syntax is not valid so the Kubernetes engine will not accept it</td></tr>
+                            <tr><th>Failed</th><td>None</td></tr>
                         
                         
-                            <tr><th>Skipped</th><td>All failing configs skipped</td></tr>
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_INCORRECT_HOSTIPC_VALUE_TRUE</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="49f1606f-232d-4ba7-a0fb-6339b81c9f40"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent containers from sharing the host`s IPC namespace</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
                         
                         </table>
 
                         
-                        <pre>1 occurrences
-— metadata.name: rss-site (kind: Deployment)
-1 skipped
-— metadata.name: rss-site (kind: Deployment)
-</pre>
+                        <pre>None</pre>
                         
                         
-                        <pre>skipped</pre>
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_INCORRECT_HOSTNETWORK_VALUE_TRUE</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="db3b5654-a779-4fa9-a889-1da55761f7ee"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent containers from sharing the host&#39;s network namespace</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_INCORRECT_RUNASUSER_VALUE_LOWUID</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="f889e5d5-7666-4c51-a199-ba1c20afe158"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent containers from accessing host files by using high UIDs</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>CONTAINERS_INCORRECT_PATH_VALUE_DOCKERSOCKET</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="1619fd42-2dd3-4c6f-bb5f-e5f9225933b7"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent containers from mounting Docker socket</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>INGRESS_CVE2021_25742_INCORRECT_SERVER_SNIPPET_KEY</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="669da393-81e2-4e8f-b271-c4151191ac5b"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Prevent Ingress security vulnerability (CVE-2021-25742)</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
+                        
+
+                        
+                        
+                        
+                    </div>
+                
+                </div>
+            </div>
+            
+            <div class="testclass">
+                <h4>INGRESS_INCORRECT_DOMAIN_NAME</h4>
+                <div class="testcases">
+                
+                    <div class="test outcome outcome-passed">
+                        <a id="bcebd71d-ae99-4169-8aad-6a44b37365f3"></a>
+                        <table class="proplist">
+                            <tr><th>Test case:</th><td><b>Deny invalid domain names in ingress hosts</b></td></tr>
+                            <tr><th>Outcome:</th><td>Passed</td></tr>
+                            <tr><th>Duration:</th><td>0.0 sec</td></tr>
+                        
+                            <tr><th>Failed</th><td>None</td></tr>
+                        
+                        
+                        </table>
+
+                        
+                        <pre>None</pre>
+                        
                         
 
                         
@@ -528,7 +1676,7 @@ h1 {
 
     <div class="testsuite">
         <h2>Test Suite: policySummary</h2>
-        <a id="07c89f11-b33c-4bfb-8545-feee5c162f22"></a>
+        <a id="21aad56b-8e9b-44a6-b317-50ea7c8f1948"></a>
         
         
         <h3>Suite Properties</h3>
@@ -543,11 +1691,11 @@ h1 {
             </tr>
             
             <tr>
-                <th>totalRulesFailed</th><td>4</td>
+                <th>totalSkippedRules</th><td>2</td>
             </tr>
             
             <tr>
-                <th>totalSkippedRules</th><td>2</td>
+                <th>totalRulesFailed</th><td>4</td>
             </tr>
             
             <tr>
@@ -578,7 +1726,7 @@ h1 {
 
     <div class="testsuite">
         <h2>Test Suite: evaluationSummary</h2>
-        <a id="f3c7055d-5c11-4b1f-b0e4-e2e2c7d8ac23"></a>
+        <a id="cfc3cc6c-af15-47b1-b4c6-a522a85621c7"></a>
         
         
         <h3>Suite Properties</h3>