1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-29 02:45:06 +00:00

fixed test cases

Signed-off-by: NoSkillGirl <singhpooja240393@gmail.com>
This commit is contained in:
NoSkillGirl 2021-09-07 22:27:29 +05:30
parent 1180ba4a86
commit 1b0c80b39f
2 changed files with 21 additions and 14 deletions

View file

@ -76,7 +76,7 @@ type TestResults struct {
Result report.PolicyResult `json:"result"`
Status report.PolicyResult `json:"status"`
Resource string `json:"resource"`
AutoGeneratedRule bool `json:"auto_generated_rule"`
AutoGeneratedRule string `json:"auto_generated_rule"`
}
type ReportResult struct {
@ -247,6 +247,7 @@ func buildPolicyResults(resps []*response.EngineResponse, testResults []TestResu
for _, rule := range resp.PolicyResponse.Rules {
rules = append(rules, rule.Name)
}
result := report.PolicyReportResult{
Policy: policyName,
Resources: []*corev1.ObjectReference{
@ -255,16 +256,23 @@ func buildPolicyResults(resps []*response.EngineResponse, testResults []TestResu
},
},
}
for i, test := range testResults {
if test.Policy == policyName && test.Resource == resourceName {
if !util.ContainsString(rules, test.Rule) {
if !util.ContainsString(rules, "autogen-"+test.Rule) {
result.Result = report.StatusSkip
if !util.ContainsString(rules, "autogen-cronjob-"+test.Rule) {
result.Result = report.StatusSkip
} else {
testResults[i].AutoGeneratedRule = "autogen-cronjob"
test.Rule = "autogen-cronjob-" + test.Rule
}
} else {
testResults[i].AutoGeneratedRule = true
testResults[i].AutoGeneratedRule = "autogen"
test.Rule = "autogen-" + test.Rule
}
}
resultsKey := fmt.Sprintf("%s-%s-%s", test.Policy, test.Rule, test.Resource)
if _, ok := results[resultsKey]; !ok {
results[resultsKey] = result
@ -276,10 +284,10 @@ func buildPolicyResults(resps []*response.EngineResponse, testResults []TestResu
for _, info := range infos {
for _, infoResult := range info.Results {
for _, rule := range infoResult.Rules {
if rule.Type != utils.Validation.String() {
continue
}
var result report.PolicyReportResult
resultsKey := fmt.Sprintf("%s-%s-%s", info.PolicyName, rule.Name, infoResult.Resource.Name)
if val, ok := results[resultsKey]; ok {
@ -287,13 +295,12 @@ func buildPolicyResults(resps []*response.EngineResponse, testResults []TestResu
} else {
continue
}
result.Rule = rule.Name
result.Result = report.PolicyResult(rule.Check)
result.Source = policyreport.SourceValue
result.Timestamp = now
results[resultsKey] = result
}
}
}
@ -439,8 +446,8 @@ func printTestResult(resps map[string]report.PolicyReportResult, testResults []T
res.Resource = boldFgCyan.Sprintf(v.Resource)
var ruleNameInResultKey string
if v.AutoGeneratedRule {
ruleNameInResultKey = fmt.Sprintf("autogen-%s", v.Rule)
if v.AutoGeneratedRule != "" {
ruleNameInResultKey = fmt.Sprintf("%s-%s", v.AutoGeneratedRule, v.Rule)
} else {
ruleNameInResultKey = v.Rule
}

View file

@ -17,36 +17,36 @@ results:
# TEST: Deployment with Labels Should Pass
- policy: require-common-labels
rule: autogen-check-for-labels
rule: check-for-labels
result: pass
resource: deployment-with-labels
# TEST: Deployment with Labels Should Fail
- policy: require-common-labels
rule: autogen-check-for-labels
rule: check-for-labels
result: fail
resource: deployment-missing-labels
# TEST: StatefulSet with Labels Should Pass
- policy: require-common-labels
rule: autogen-check-for-labels
rule: check-for-labels
result: pass
resource: StatefulSet-with-labels
# TEST: StatefulSet with Labels Should fail
- policy: require-common-labels
rule: autogen-check-for-labels
rule: check-for-labels
result: fail
resource: StatefulSet-without-labels
# TEST: Cronjob with Labels Should pass
- policy: require-common-labels
rule: autogen-cronjob-check-for-labels
rule: check-for-labels
result: pass
resource: cronjob-with-labels
# TEST: Cronjob without Labels Should fail
- policy: require-common-labels
rule: autogen-cronjob-check-for-labels
rule: check-for-labels
result: fail
resource: cronjob-without-labels